Одно решение, которое я использовал, состоит в том, чтобы сделать это:
1) Создают пользовательская команда управления, например,
python manage.py my_cool_command
2) Использование cron
(на Linux) или at
(в Windows) для выполнения моей команды в необходимые времена.
Это - простое решение, которое не требует установки тяжелого стека AMQP. Однако существуют хорошие преимущества для использования чего-то как Сельдерей, упомянутый в других ответах. В частности, с Сельдереем хорошо не должным быть распространить Вашу прикладную логику в crontab файлы. Однако решение для крона работает вполне приятно на малое и среднее приложение и где Вы не хотите много внешних зависимостей.
РЕДАКТИРОВАНИЕ:
В более поздней версии окон эти at
команда удерживается от использования для Windows 8, Сервер 2012 и выше. Можно использовать schtasks.exe
для того же использования.
**** ОБНОВЛЯЮТ **** Это новое ссылка из django документа для записи пользовательской команды
управления
Выполнение любой операции с этой папкой (из другого потока) вызовет немедленный возврат метода idle ()
. Поэтому, если вы хотите принудительно прервать его, просто вызовите close ()
из нового потока.