Commit task to worker before transfering it.

This way, if something goes wrong with the transfer, the task is already
registered with the worker and handle_worker_failure re-inserts into the
ready_list.
Return worker failure if failed to send the task completely.