Если вы не работаете выше, вы можете проверить, есть ли у вас какие-либо пакеты в разделе «Предпочтение»> «Редактор»> «Стиль кода»> «Java»> «Импорт»> «Пакеты для импорта» с «*»
Одно решение, которое я использовал, состоит в том, чтобы сделать это:
1) Создают пользовательская команда управления, например,
python manage.py my_cool_command
2) Использование cron
(на Linux) или at
(в Windows) для выполнения моей команды в необходимые времена.
Это - простое решение, которое не требует установки тяжелого стека AMQP. Однако существуют хорошие преимущества для использования чего-то как Сельдерей, упомянутый в других ответах. В частности, с Сельдереем хорошо не должным быть распространить Вашу прикладную логику в crontab файлы. Однако решение для крона работает вполне приятно на малое и среднее приложение и где Вы не хотите много внешних зависимостей.
РЕДАКТИРОВАНИЕ:
В более поздней версии окон эти at
команда удерживается от использования для Windows 8, Сервер 2012 и выше. Можно использовать schtasks.exe
для того же использования.
**** ОБНОВЛЯЮТ **** Это новое ссылка из django документа для записи пользовательской команды
управленияЯ не уверен, что это будет кому-нибудь полезно, так как мне пришлось предоставлять другим пользователям системы для планирования заданий, не предоставляя им доступ к фактическому планировщику задач сервера (windows), я создал это повторно используемое приложение.
Обратите внимание, что пользователи имеют доступ к одной общей папке на сервере, где они могут создавать необходимые команды / task / .bat. Эта задача может быть запланирована с помощью этого приложения.
Имя приложения - Django_Windows_Scheduler
Поместите следующее в начало вашего файла cron.py:
#!/usr/bin/python
import os, sys
sys.path.append('/path/to/') # the parent directory of the project
sys.path.append('/path/to/project') # these lines only needed if not on path
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproj.settings'
# imports and code below
Взгляд на Крон Django Poor Man, который является приложением Django, которое использует спам-роботы, роботы индексирования в поисковых системах и одинаково выполнять запланированные задачи приблизительно в равных интервалах
Я лично использую крон, но эти части Планирования Заданий django-расширения интересные взгляды.
При использовании стандартного POSIX ОС Вы используете крон .
при использовании Windows Вы используете по телефону .
Запись команда управления Django к
Фигура, какая платформа они идут.
Или выполните соответствующую команду "AT" для своих пользователей, или обновляют crontab для Ваших пользователей.
Интересное новое сменное приложение Django: django-хронограф
только необходимо добавить одну запись крона, которая действует как таймер, и у Вас есть очень хороший администраторский интерфейс Django в сценарии для выполнения.
Celery - это распределенная очередь задач, построенная на AMQP (RabbitMQ). Он также обрабатывает периодические задачи в стиле cron (см. периодические задачи ). В зависимости от вашего приложения, на него стоит взглянуть.
Celery довольно легко настроить с помощью django ( docs ), и периодические задачи фактически пропускают пропущенные задачи в случае простоя. В Celery также есть встроенные механизмы повтора в случае сбоя задачи.
Django APScheduler для Заданий Планировщика. Усовершенствованный Планировщик Python (APScheduler) является библиотекой Python, которая позволяет Вам запланировать свой код Python, который будет выполнен позже, или только однажды или периодически. Можно добавить новые задания или удалить старые на лету как Вам нравится.
примечание: я - автор этой библиотеки
pip install apscheduler
имя файла: scheduler_jobs.py
def FirstCronTest():
print("")
print("I am executed..!")
, делает execute.py файл и добавляет ниже кодов
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler()
Ваши записанные функции Здесь, функции планировщика записаны в Ссылке scheduler_jobs
import scheduler_jobs
scheduler.add_job(scheduler_jobs.FirstCronTest, 'interval', seconds=10)
scheduler.start()
Теперь, добавляют ниже строки в нижней части файла
import execute