celery的定时任务记录

来源:互联网 发布:java项目开发教程 编辑:程序博客网 时间:2024/05/29 19:34

celery 里面有个定时任务的功能,可以定期的把任务推送到队列里面去

我在使用的时候,在网上也查了很多东西,但是还是折腾了两天,后来发现我理解的有问题,在这里记录下:

1.启动celery的定时任务需要配置的项目

CELERYBEAT_SCAHEDULE

'add_every_10_second':{

'task':‘worker.add’这个要跟具体的task名称对应起来

‘schedule’:timedelta(seconds=10)

}


2.启动beat

通过启动beat我们可以实现定期的去发送任务

/usr/bin/python /usr/local/bin/celery beat -A ncelery -l INFO


3.理解上的问题:

 我之前理解的有问题,我以为beat进错必须和worker在一台机器上启动,其实没有关系,beat只负责把消息放入队列,可以在另外一台机器上面启动;

我之前理解的以为一次把任务放到队列里面,然后worker定时去执行,但是后来踩坑以后发现不是,是beat不停的把任务定期推送到队列里面去


原创粉丝点击