We recently received the following question from a Requester:
I published several hundred HITs via the Requester web site and then realized I used the wrong data file. I canceled the batch but my HITs are still showing up on the Worker site, why is that?
When you cancel a batch, we perform a "force expire" of the HITs in your batch. The time to cancel the batch varies based on the size of the batch. Large batches may take several minutes. Once expired, the HITs will no longer be visible on the Worker site and Workers will no longer be able to accept these HITs.
We immediately expire HITs that have not yet been accepted (ie picked up) by Workers but if a Worker has already accepted an Assignment for one of these HITs, we can't perform the "force expire"until the Worker has either submitted or returned the Assignments. In the meantime, these HITs will continue to be visible on the Worker site even though they can no longer be accepted (i.e. picked up) by Workers. Once these "work in progress" Assignments are either submitted or returned, the HITs will be expired and will no longer be visible on the Worker site.
In most cases, the HITs remain visible for just a few extra minutes. But sometimes a Worker will accept an Assignment and just hold it without submitting an answer or returning it. (Maybe they accepted the Assignment and then stopped working for the day.) The longest a Worker can hold on to an Assignment without submitting or returning it is determined by the "time allowed per Assignment" that you specified when you designed your HIT template. That's the maximum amount of time that a Worker has to either return or submit the Assignment. If you set this to 2 days, the Worker can hold on to the Assignment for 2 days during which time the HIT for this Assignment will still be visible on the Worker site. Once the "time allowed per Assignment" passes, Mturk will automatically pull the Assignment from the Worker and expire the HIT for you.
Note that this process holds true for HITs created and force-expired via the Requester APIs as well.