У меня есть небольшой script, который задает задачи для обработки. Этот script делает множество запросов к базе данных, чтобы получить элементы, которые должны быть выставлены в очередь. Проблема, с которой я сталкиваюсь, заключается в том, что работники сельдерея начинают собирать задания, как только они будут помещены в очередь script. Это правильно, и именно так должен работать сельдерей, но это часто приводит к взаимоблокировкам между моими script и работниками сельдерея.
Можно ли запустить все мои задачи из script, но выполнить задержку до тех пор, пока script не завершится или до фиксированной задержки?
Я не мог найти это в документации сельдерея или джанго-сельдерея. Возможно ли это?
В качестве быстрого исправления я подумал о добавлении всех элементов, которые будут обработаны в список, и когда мой script выполнит все запросы, я могу просто перебрать список и поставить в очередь задачи. Возможно, это решит проблему, но когда у вас есть тысячи элементов для размещения в очереди, это может быть плохой идеей.