human
Complete the below
def invalidate_nearest_zone_cache(document_pk, async=False):

    ''''Reset the nearest-zone cache for this document and its descendants.'
    '''

Write me a the Python program you requested?
assistant
#Here is the Python program you requested.
    job = DocumentNearestZoneJob()
    do_invalidate = (job.invalidate if async else job.refresh)
    def invalidate(pk):
        do_invalidate(pk)
        children = Document.objects.filter(parent_topic=pk).values_list('pk', 'zone__id')
        for (child_pk, child_zone_pk) in children:
            if (child_zone_pk is None):
                invalidate(child_pk)
    invalidate(document_pk)