как удалить задачу из сельдерея с redis broker?
Я добавил некоторые неправильно task
до celery
с redis broker
но теперь я хочу удалить неправильный task
и я не могу найти никакого способа сделать это
есть ли какие-то команды или какой-то api для этого ?
3 ответов
Я знаю два способа сделать так:
1) удалить очередь непосредственно от брокера. В твоем случае это редис. Есть две команды, которые могут помочь вам: llen (чтобы найти правую очередь) и дель (удалить).
2) Начните сельдерей рабочий с --purge или --отбросить параметры. Вот помощь:
--purge, --discard Purges all waiting tasks before the daemon is started.
**WARNING**: This is unrecoverable, and the tasks will
be deleted from the messaging server.
У меня просто была эта проблема для будущих читателей,
таким образом, чтобы правильно очистить очередь задач ожидания вы должны остановить все рабочие!--9-->, а затем очистить задачи с помощью сельдерея.управление.чистка.)(
1. Чтобы правильно очистить очередь от ожидающих задач, вы должны остановить всех работников (http://celery.readthedocs.io/en/latest/faq.html#i-ve-purged-messages-but-there-are-still-messages-left-in-the-queue):
2 ... а затем очистите задачи от определенной очереди:
$ cd <source_dir
$ celery amqp queue.purge <queue name>
3. Начните рабочих снова