Создание задания Cron - Linux / Python - PullRequest
4 голосов
/ 26 февраля 2010

Привет, у меня есть скрипт Django, который мне нужно запустить,

Я думаю, что команды можно вызывать через bash.

Дело в том, что скрипт вызывает утечки памяти после длительного периода времени, поэтому я хотел бы создать внешнее задание cron, которое вызывает скрипт Python. Таким образом, сценарий будет завершен и перезапущен во время восстановления потерянной памяти.


Может ли кто-нибудь указать мне правильное направление? Я очень мало знаю по этому вопросу и чувствую себя немного потерянным.

Ответы [ 4 ]

8 голосов
/ 26 февраля 2010

Если у вас есть исполняемый файл, скажем /home/bin/foobar, который перезапускает скрипт и вы хотите запускать его (скажем) каждые 10 минут, запись в crontab должна быть:

*/10 * * * *  /home/bin/foobar

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

Если вы сохраните это (и любые другие периодические задания, которые хотите запустить), скажем, /home/bin/mycrontab, то просто выполните crontab /home/bin/crontab, и система сделает все остальное (скрипт запускается с вашим идентификатором пользователя).

Чтобы посмотреть, какие периодические задания вы уже запланировали под текущим идентификатором пользователя, если они есть, выполните crontab -l.

2 голосов
/ 26 февраля 2010

Вы смотрели пользовательских команд управления для своего приложения django? Они работают как любая другая команда из manage.py, за исключением того, что вы можете написать их.

Приложения могут регистрировать свои собственные действия с manage.py. Например, Вы могли бы хотеть добавить manage.py действие для приложения Django, которое вы разводка.

Для этого просто добавьте каталог управления / команды к вашему приложение. Каждый модуль Python в этот каталог будет автоматически обнаружен и зарегистрирован как команда, которая может исполняться как действие при запуске manage.py.

1 голос
/ 26 февраля 2010

я думаю http://code.google.com/p/django-cron/ должно быть интересно для вас

это независимый от платформы и cron-lib для django, и работает также на серверах Windows

1 голос
/ 26 февраля 2010

Проблема с заданием cron заключается в том, что оно запускается очень часто независимо от того, завершен ли предыдущий экземпляр. Я бы порекомендовал вашему сценарию запустить новый экземпляр через определенное время, а затем завершить работу.

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