在没有crontab的情况下,在特定时间用php/python安排一些作业


Schedule some jobs with php/python at some specific time without crontab

我有一些不定期的工作要做(频繁和很多),所以我不能使用crontab。

例如:

  • 于2012年7月22日上午10点20分发送邮件
  • 今晚11点发一篇文章
  • 在明天上午9:50运行脚本。

我找到了linux通用的at,但是它不能很容易地管理,否则,我搜索了一些消息队列(如zeromq)和gearman,它们也不能做计划作业或延迟作业。

还有其他解决方案吗?

APScheduler怎么样?

import time
from datetime import datetime
from apscheduler.scheduler import Scheduler
# Schedule my_job for year, month, day, hour (out of 24), minute.  Then wait.
sched = Scheduler()
sched.start()
def my_job(text):  print text
job = sched.add_date_job(my_job, datetime(2011, 7, 11, 22, 04), ['hello'])
while True:
  print datetime.now()
  time.sleep(1)

不幸的是,您的选择是cron或手动管理睡眠。

如果你使用的是Django,那么这已经为你完成了