使用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中的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