栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

芹菜-安排在特定时间开始的定期任务

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

芹菜-安排在特定时间开始的定期任务

Celery似乎是解决日程安排问题的好方法:Celery的PeriodicTasks具有几秒钟的运行时间解析。

您在这里使用的是合适的工具,但是crontab条目不是您想要的。您想使用python的datetime.timedelta对象;celery.schedules中的crontab调度程序只有几分钟的分辨率,但是使用timedelta来配置PeriodicTask间隔将提供严格的更多功能,在这种情况下,每秒分辨率。

例如来自芹菜文档

>>> from celery.task import tasks, PeriodicTask>>> from datetime import timedelta>>> class EveryThirtySecondsTask(PeriodicTask):...     run_every = timedelta(seconds=30)......     def run(self, **kwargs):...         logger = self.get_logger(**kwargs)...         logger.info("Execute every 30 seconds")

http://ask.github.com/celery/reference/celery.task.base.html#celery.task.base.PeriodicTask

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

这里唯一的挑战是必须描述要执行此任务的频率,而不是要在什么时钟时间运行。但是,我建议您查看Advanced Python Scheduler
http://packages.python.org/APScheduler/

看起来Advanced Python Scheduler可以使用其自己的调度功能轻松地用于按您选择的任何调度启动正常(即非周期性)的Celery任务。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455889.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号