Вы пробовали это? Завершение задачи - это транзакционная операция, это означает, что если обе задачи будут выполнены одновременно, «выиграет» только одна транзакция, а другая будет откатана, и вторая транзакция будет повторена. В целом, это должно работать, если у вас есть механизм повторного запуска