• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

tornado+apscheduler定时任务

Python admin 3周前 (11-22) 99次浏览 0个评论 扫描二维码

好久没有更新了,工作忙网站都长草了,最近这两天搞一个调度任务,定时从 HIVE 抽数,使用 tornado 写个服务实现类似的功能。使用自带的间隔回调函数在发送请求没办法达到异步的效果,但是也不想在外部设置 cron 热痱任务,最后的目的就是将这些柔到一个代码里面,所以才有了这篇文章,下面给出的是示例

使用 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()

Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明tornado+apscheduler 定时任务
喜欢 (0)
admin
关于作者:

您必须 登录 才能发表评论!