Спасибо, если я правильно понял предлагается подобный вариант https://stackoverflow.com/a/19213252
Наверное его и буду использовать если в итоге можно будет отказаться от задачи скачивания файлов с оригинальным именем)
Abdula Magomedov: В первом обработчике - чтобы проверить, что пользователь является владельцем данного объекта на данный момент и может изменить его статус. Во втором - чтобы проверить, что статус объекта "в ожидании", и чтобы не передать объект другому пользователю, если объект уже принят текущим пользователем.
Два обработчика начинают работу одновременно и получают строку со статусом "await".
Один обработчик видит что всё в порядке и меняет статус на accepted.
Второй обработчик тоже думает что всё в порядке (у него та версия строки, в которой state ещё равен "await", ведь он выполнил SELECT до UPDATE первого обработчика) и меняет owner_id на другого.
В результате получаем объект со статусом accepted, новый владелец которого даже не знает о его существовании, а старый владелец не может понять куда он делся :)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Наверное его и буду использовать если в итоге можно будет отказаться от задачи скачивания файлов с оригинальным именем)