使用django rq从django管理员提供计划的作业

django-rq-jobs的Python项目详细描述


使用Django管理员提供计划作业管理 Django-RQ

Admin Screenshot

管理员屏幕截图

安装

  • 确保你已经Django-RQ准备好了 在你做任何事之前跑。这个应用程序只是一个简单的管理员 管理计划任务和管理命令的插件。

  • 使用pip install django-rq-jobs

    安装包
  • django_rq_jobs添加到设置中已安装的应用程序。py:

    INSTALLED_APPS=(# other apps"django_rq","django_rq_jobs",)
  • 在settings.py中添加RQ_JOBS_MODULE。字符串或字符串的元组 指定保存作业的所有模块。任何有标记的东西 随着django rq的@jobdecorator将出现在管理员中。

    # A singe module:RQ_JOBS_MODULE='myapp.tasks'# or with multiple modules:RQ_JOBS_MODULE=('myapp.tasks','anotherapp.tasks',)
  • 运行python manage.py migrate创建作业模型。

  • 打开django管理员,找到rq jobs scheduled job部分,然后 安排一些事情。

  • 用你的最爱安排心跳python manage.py rqjobs。 调度程序。这可以是cron,heroku调度器或者其他任何东西 更喜欢。确保将心跳间隔设置为 明智的;通常5或10分钟就足够了,但要每分钟运行一次 如果你愿意的话。无论如何,作业的执行被推迟到rq。

注释

  • 支持一次、每小时、每天、每周、每月、每季度和每年 预定任务。
  • 有限运行调度:将任务的“重复”设置为最大值 你想要的重复次数。一旦计数器 达到零。默认为-1表示永恒。
  • 参数是dict:{'one': 1, 'two': 2, 'three': 3}
  • rq作业将尝试将作业链接到django rq中的队列任务状态。 通常这些工作报告的存在时间不比几分钟长。 除非他们失败。因此,如果您看到None处于rq状态, 这通常意味着一切顺利。
  • 如果您有一段时间没有运行heartbeatmanage.py rqjobs,并且 错过了一些预定的作业,RQ作业将赶上 心跳。这样有限的跑步计划就不会受到影响。

调度管理命令

如果您想调度常规的django管理命令,那么这是最简单的 使用django的管理包装器添加它们。所以如果你想 安排“manage.py clearsessions”:

fromdjango.coreimportmanagement@jobdefclear_sessions():returnmanagement.call_command('clearsessions')

这将自动显示为“清除会话”在管理 接口。

致谢

没有优秀的人才是不可能的 Django-RQRQ项目。多亏了 Arrow方便约会。

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

推荐PyPI第三方库


热门话题
java如何通过jamod读取控制器的输入状态?   java Back bean方法在使用两个h的单一表单时未调用:selectonemenus和command button   mockitojava中的单元测试Mock继承方法   java在不传递到构造函数的情况下,将一个类的实例使用到另一个类中的最佳方法是什么   java Spring MVC:如何通过API在Dozer的toplevel字段中允许空值?   java hibernate到MSSQL服务器的连接被拒绝:连接   java动态调用现有变量   在java中扩展多个类的泛型   java使用JNA Ptrace获取linux中外部进程的信息?   eclipse获取Java项目中所有构建错误的最快方法是什么?   java将动态数组拆分为多个数组   java安卓:将json保存到sqlite   java获取最近时间Android   java如何为多对多关联编写HQL查询?   java Docker compose for mysql和spring应用程序拒绝访问   java查找数组(如果它是另一个数组的子集)   java如何在另一个具有相同数据类型参数的泛型类(或接口)中使用泛型类(或接口),而无需强制转换   Apache POI java。lang.NoClassDefFoundError:org/apache/commons/compress/utils/InputStreamStatistics   java使用Jackson将JSON反序列化为异构元素列表   使用MapReduce实现java规范化