using atomic find_and_modify instead of update_task_status