伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

djcelery不使用admin界面,动态添加定时任务

来源:本站原创 浏览:167次 时间:2021-06-21

在应用开发中有很多情况需要用到任务调度,每日统计平台访问量、清除历史日志、创建月表等任务,还有些功能是需要平台使用人员自己去添加的,比如我要填加明天下午4点的会议提醒,从网上看到的celery中似乎是没有提供这样的API接口去添加任务。

djcelery models.py

在djcelery中定义的models可以看到,有PeriodicTask、CrontabSchedule、IntervalSchedule、WorkerState、TaskState,并且在文件中可以看到

signals.pre_delete.connect(PeriodicTasks.changed, sender=PeriodicTask)signals.pre_save.connect(PeriodicTasks.changed, sender=PeriodicTask)

这也是有的博客中提到在数据库 djcelery_periodictask 表中增加任务记录,不能被执行需要重启服务才能触发的原因。

实践

在我们的业务代码中引用
from djcelery.models import PeriodicTask, IntervalSchedule, CrontabSchedule

# -*- coding:utf-8 -*-"""Created on 2019/11/18@author: jj"""from djcelery.models import PeriodicTask, IntervalSchedule, CrontabSchedulefrom util.apiview import GomAPIViewclass PeriodicTaskV(GomAPIView):    def victim(self):        # PeriodicTask(name='测试',        #              task='bus_arch��Ц,��Цive.tasks.ActualTotalWater',        #              args='[]',        #              kwargs='{}',        #              enabled=1,        #              interval_id=1,        #              ).save()        PeriodicTask.objects.filter(id=5).delete()        class IntervalScheduleV(GomAPIView):    """        PERIOD_CHOICES = (('days', _('Days')),                  ('hours', _('Hours')),                  ('minutes', _('Minutes')),                  ('seconds', _('Seconds')),                  ('microseconds', _('Microseconds')))    """    def victim(self):        IntervalSchedule(every=50,                         period='seconds'                         ).save()

在不重启服务的情况下,新增的任务是可以正常执行的
执行结果

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net