Django与dramatiqpg的整合
django-dramatiq-pg的Python项目详细描述
安装
用pip安装
$ pip install django-dramatiq-pg
在添加到您的INSTALLED_APPS列表中设置.py在
^{pr2}$ 在创建注册表,并注册您的任务
fromdjango_dramatiq_pg.registryimportRegistrytasks=Registry()@tasks.actordefmytask():...
在配置
DRAMATIQ_BROKER={"OPTIONS":{"url":"postgres:///mydb",},"MIDDLEWARE":["dramatiq.middleware.TimeLimit","dramatiq.middleware.Callbacks","dramatiq.middleware.Retries",],}DRAMATIQ_REGISTRY='myapp.registry.tasks'
在启动工作进程:
$ dramatiq django_dramatiq_pg.worker
在
此工作模块将在中自动发现任何名为“actors”的模块 INSTALLED_APPS。在
注册表
在一个典型的dramitiq应用程序中,代理程序在任何 任务已注册。然而,asDjango控制着初始化 sequence,存在排序问题;actor修饰符假定 已配置代理。在
为了解决这个问题,django_dramatiq_pg为您的任务提供了一个注册表, 然后在Django初始化时绑定到代理。在
在代码中,声明一个注册表实例,并使用其.actor方法来 装饰你的任务功能。然后告诉django_dramatiq_pg使用 使用dramitiq_注册表设置注册。在
如果不指定一个,django_dramatiq_pg将在开始时创建一个。在
注册表可以作为 应用实例。在
设置
-
戏剧经纪人
- 实例化代理时要传递的选项dict。
- 戏剧经纪人['OPTIONS']
- 传递给代理的参数。
- 戏剧性的代理['MIDDLEWARE']
要传递给代理的中间件类的列表。在
它们可以是导入字符串,也可以是实例。在
- DRAMATIQ_编码器
默认值:无
编码器类的导入路径。在
戏剧演员模块
默认值:“演员”
用于在已安装的应用程序中自动发现参与者的模块名称。在
戏剧登记处
Import path for the task Registry instance.
This should refer to an instance of django_dramatiq_pg.registry.Registry.
This resolves the chicken/egg problem of declaring tasks before the broker is configured.
- 项目
标签: