python动态加载是否影响性能
apscheduler如何传递参数给job

apscheduler定时任务

妙音 posted @ 2015年6月30日 16:50 in python with tags apscheduler , 8530 阅读
使用apscheduler定时任务,可以使用interval任务+cron任务,interval定时更新cron配置信息,cron则实现作业计划。

通常用法

from apscheduler.schedulers.blocking import BlockingScheduler
sched = BlockingScheduler()

def my_job():
    print 'hello world'

# 使用修饰器
@sched.scheduled_job('cron', id='my_job_id', second=10)
def hello():
    print "hello decorate"

# 轮循
sched.add_job(my_job, 'interval', seconds=5)
# 定时计划
sched.add_job(my_job, 'cron', second=5, minute=1, hour=12, day_of_week=2)
sched.start()

在tarnado中用法

import tornado
from apscheduler.schedulers.tornado import TornadoScheduler
sched = TornadoScheduler()

def my_job():
    print sched.get_jobs()

sched.add_job(my_job, 'interval', seconds=5, id="1")
sched.start()

tornado.ioloop.IOLoop.instance().start()

任务触发器比较

很多情况下,任务是根据数据库调整触发时间,时间改变了,如何判断触发器是否变化?
生成新trigger然后,专程字符串比较比较
# 触发器比较
str(job.trigger) != str(trigger)
# 修改触发器
sched.reschedule_job(job.id, trigger=trigger)
 
Avatar_small
杀手 说:
2015年11月17日 14:51

感谢博主文章

Avatar_small
Robinjack 说:
2020年12月23日 17:31

Bonsoir à vous Vous ne croyez pas que les arguments de votre post ont besoin de nouvelles valeurs… Votre démarche semble bonne quoique je ne comprends pas les différents avis ci dessus. Pensez a rajouter d’autres affirmations pour plus de professionalisme! Au plaisir de vous relire disposable medical masks


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter