Django & Celery: Как мне запланировать выполнение задания только один раз, используя Celery (аналогично команде at в linux)? - PullRequest
7 голосов
/ 30 марта 2012

Я посмотрел учебник по django-celery и думаю, что он действительно поможет мне выполнять фоновые задачи, не давая пользователям ждать.Тем не менее, у меня есть специальное требование в программе, чтобы при вводе даты пользователем django мог планировать и откладывать выполнение на более позднее время.Я использовал at программу раньше, но она дает много проблем с разрешениями.Но когда я читаю документацию по Celery, я вижу только то, что Celery поддерживает cron подобные задачи, называемые @periodic_task.Я уверен, что он также предоставляет механизм at, но я не смог найти никакой документации.Кто-нибудь может указать мне на некоторые ресурсы или просто сказать мне, как этого добиться?Спасибо.

Ответы [ 2 ]

11 голосов
/ 30 марта 2012

В документе указано, что вы можете запланировать выполнение задач в определенное время , используя аргумент eta .

3 голосов
/ 30 марта 2012

Вы можете предоставить аргумент обратного отсчета или ETA для функции apply_async (). Таким образом, вы можете определить самое раннее время выполнения задачи, но не точное время (это зависит от вашей очереди). Для получения более подробной информации см. здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...