'Initialize the _WorkItem instance.
Args:
progress_queue: A queue used for tracking progress information.
key_start: The start key of the work item.
key_end: The end key of the work item.
state_namer: Function to describe work item states.
state: The initial state of the work item.
progress_key: If this WorkItem represents state from a prior run,
then this will be the key within the progress database.'

def __init__(self, progress_queue, key_start, key_end, state_namer, state=STATE_READ, progress_key=None):

    adaptive_thread_pool.WorkItem.__init__(self, ('[%s-%s]' % (key_start, key_end)))
    self.progress_queue = progress_queue
    self.state_namer = state_namer
    self.state = state
    self.progress_key = progress_key
    self.progress_event = threading.Event()
    self.key_start = key_start
    self.key_end = key_end
    self.error = None
    self.traceback = None
    self.kind = None
