使用PHP/Python在特定时间调度任务,无需crontab
我有一些不规律的工作要做(频繁而且很多),所以我不能使用定时任务(crontab)。
比如说:
- 在2012年7月22日上午10:20发送一封邮件
- 今晚11点发布一篇文章
- 明天上午9:50运行一个脚本。
我发现了Linux命令at
,但是管理起来不太方便。另外,我还查了一些消息队列(比如zeromq)和gearman,它们也不能处理定时或延迟的工作。
还有其他解决方案吗?
2 个回答
0
很遗憾,你只能选择用定时任务(cron)或者手动管理休眠状态。
不过,如果你在使用Django框架的话,这个问题已经有现成的解决方案了,你可以直接使用这个工具。
0
那你觉得 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)