Активировать программу Python каждые 5 минут? - PullRequest
2 голосов
/ 11 октября 2010

Есть ли простой способ заставить сегмент кода Python запускаться каждые 5 минут?

Я знаю, что мог бы сделать это с помощью time.sleep (), но был ли другой способ?

Например, я хочу запускать это каждые 5 минут:

x = 0
def run_5():
    print "5 minutes later"
    global x += 5
    print x, "minutes since start"

Это только поддельный пример, но идея есть.

Есть идеи?

Я нахожусь на Linux и с удовольствием использовал бы cron, но мне было просто интересно, есть ли альтернатива Python?

Ответы [ 3 ]

2 голосов
/ 11 октября 2010

Возможно, вы захотите взглянуть на cron, если вы используете ОС * nix.Вы можете легко запустить программу каждые 5 минут

http://www.unixgeeks.org/security/newbie/unix/cron-1.html

https://help.ubuntu.com/community/CronHowto

2 голосов
/ 11 октября 2010

Вы можете сделать это с помощью модуля потоков

>>> import threading
>>> END = False
>>> def run(x=0):
...     x += 5
...     print x
...     if not END:
...         threading.Timer(1.0, run, [x]).start()
... 
>>> threading.Timer(1.0, run, [x]).start()
>>> 5
10
15
20
25
30
35
40

Затем, когда вы хотите остановить его, установите END = True.

0 голосов
/ 11 октября 2010

Если вы на платформе Windows, вы можете использовать запланированное задание.

В противном случае используйте cron, чудесный, чудесный cron.

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