一个允许您安排和取消安排工作的包
项目描述
创建两个命令 schedulejob 和 unschedulejob,允许您安排(和取消安排)后台作业。
如果您有一系列要在后端启动的作业(例如,如果您需要每小时更新您的社交动态),只需编写作业代码,用 schedulable 装饰器标记它,然后作业就可以通过 schedulejob 命令安排。
目前,该库使用 django-rq + rq-scheduler,但对 django-rq 的依赖性不是必需的,并将很快被删除。
如何使用
使用 pip install django_schedulermanager 安装库
将 django_schedulermanager.apps.DjangoSchedulerManagerConfig 添加到您的 INSTALLED_APPS
在名为 'jobs' 的模块中编写您的作业代码(请记住将应用程序添加到 INSTALLED_APPS 列表中)
导入 schedulable 注解: from django_schedulermanager.decorators import schedulable
使用 schedulable 标记您的函数。您可以传递以下参数给装饰器
interval:函数的间隔。必需。
scheduled_time:函数第一次启动的时间。必需。它是一个函数。
repeat:不是必需的,默认为 None,表示“总是重复”
id:作业的 ID。它也将是您在调用 (un)schedulejob 时必须传递的作业名称。不是必需的,默认为 None,表示“使用函数名称”
queue:要使用的队列。默认为“default”
现在您可以使用 python manage.py schedulejob <id> 和 python manage.py unschedulejob <id> 来安排和取消安排您的作业!在您的初始化脚本中调用这些命令,您的作业应该会自动安排(和取消安排)
有关示例,请参阅 test-project 目录。如果您想测试项目,请克隆存储库并运行命令 make testproject,它将在 test-project 文件夹中复制 django_schedulermanager 文件夹(库代码)
待办事项
[ ] 移除对 django-rq 的依赖
[ ] 如果存在,则从 @job 注解中读取“queue”
[ ] 添加 unschedulejob all 来取消安排所有作业
[ ] 添加一个命令,用于删除所有在 jobs.py 文件中没有函数的已安排作业
项目详情
django_schedulermanager-1.0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3889fd4af6ead8d9b925977a8f40580702a09d72bcc4a56e5b3f33fdd4304133 |
|
MD5 | 7ce5bdf329dc6a56477913556605307d |
|
BLAKE2b-256 | ada5448ff27910e8ff542adf67acfa68a30b02f242d7f450733842b2760e401d |