Django的简单、通用的cronlike job runner服务

bronski的Python项目详细描述


https://badge.fury.io/py/bronski.svghttps://img.shields.io/pypi/pyversions/bronski.svghttps://github.com/uptick/bronski/workflows/Test/badge.svg

Django的beat服务器,具有类似cron的语法

Bronski允许您使用Django模型配置周期性函数调用。在

它非常适合作为一个任务“击败”服务器,类似于芹菜殴打。在

安装

$ pip install bronski

设置

  1. 在你的INSTALLED_APPS

    这只需要启用管理命令。在

  2. 在您自己的应用程序中创建继承自bronski.models.CrontabBase

  3. 创建和应用迁移:

    ^{pr2}$ 在
  4. 在“设置”中指定模型

    CRONTAB_MODEL="myapp.MyCronModel"
  5. 启动beat服务器:

    $ ./manage.py bronski
    

每分钟bronski服务都会扫描模型中是否有启用的作业 已经59秒没跑了。然后它会检查每个 crontab定义与下一分钟匹配。在

对于匹配的作业记录,将调用它们的run方法。违约 run方法将:

  • 通过调用self.get_function()
  • 通过调用self.get_kwargs()解析要使用的kwargs
  • 使用kwargs调用函数。在

{4$enjobs可以覆盖您的自定义队列}:

classJobs(CrontabBase):defrun(self):func=self.get_function()kwargs=self.get_kwargs()# Celery task API:func.delay(**kwargs)# Dramatiq actor API:func.send(**kwargs)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何下载多个。java中的PDF文件   linux Java打开文件,形成实际用户主页~/   java如何在时间线内维护TableView选择?   java Hibernate注释@Where vs@WhereJoinTable   Java读/写访问异常FileNotFoundException(访问被拒绝)   继承在Java中是否可以扩展最后一个类?   Android HttpClient使用java使应用程序崩溃。lang.OutOfMemoryError:pthread_create   java为什么即使我在proguardproject中添加了jar文件,也会出现这种错误。txt?   如果添加JButton,swing Java FocusListener和KeyListener将无法工作   java使用solrj检索json格式的SolrDocument   使用Microsoft Visual Studio代码进行Java编程   java NoClassDefFoundError:org/apache/log4j/Logger   哈希集中包含相等对象的java   java中的参数化构造函数是否需要有一个主体?   java类似于NetBeans不必要的代码检测器   Java实践问题   java Blackberry“[projectname].调试文件丢失”和“I/O错误:找不到程序”jar