Spojrzałem na samouczek Django-Celery i myślę, że to naprawdę pomoże mi uruchomić zadania w tle, nie pozwalając użytkownikom czekać. Jednak w programie mam określony warunek taki, że gdy użytkownik wprowadzi datę, django powinno być w stanie wykonać harmonogram i odłożyć wykonanie na później. Użyłem wcześniej programu at
, ale daje on wiele problemów z uprawnieniami. Ale kiedy przeczytałem dokumentację dla Celery'ego, widzę tylko, że Seler obsługuje cron
jak zadania o nazwie @periodic_task
. Jestem pewien, że zapewnia on również mechanizm podobny do tego, który można znaleźć na stronie at
, ale nie mogłem znaleźć żadnej dokumentacji. Czy ktoś może wskazać mi jakieś zasoby lub po prostu powiedzieć, jak to osiągnąć? Dzięki.Django i Seler: Jak zaplanować zadanie, które będzie uruchamiane tylko raz przy użyciu Selera (podobne do polecenia "at" w Linuksie)?
6
A
Odpowiedz
9
Dokumenty mówią, że można schedule tasks to execute at a specific time, używając eta argument.
3
Możesz podać odliczanie lub argument ETA do funkcji apply_async(). W ten sposób można zdefiniować najwcześniejszy czas wykonania zadania, ale nie taki sam (zależy to od kolejki). Aby uzyskać więcej informacji, patrz here.
+0
strona nie istnieje –
Link do argumentu eta jest martwy. [eta] (http://ask.github.io/celery/userguide/executing.html#eta-and-countdown) –