Django和SaaS + Ztask用于后台任务

时间:2012-05-03 10:11:20

标签: python django saas zeromq

之前我问过如何使用Django创建SaaS应用程序的问题 Django and SaaS. How to use separate database for each Django site?

现在,当用户为自己创建一个新实例时,我只需为他创建一个新的settings.py文件,并为其子域创建一个apache配置。现在,当用户尝试访问他的实例时,他只能看到自己的数据库,因此我们完全分离了数据。

现在,在使用这些单独的数据库时尝试执行后台进程时出现问题。后台进程应特定于仅对此实例数据起作用的每个实例。 ZTask守护程序启动一个设置文件。问题是我是否必须为每个Django实例启动一个单独的ztaskd进程?或者我可以为所有实例启动一次ztaskd吗?

1 个答案:

答案 0 :(得分:0)

ztaskd在特定Django实例的上下文中工作,因此您不能为多个Django实例共享一个ZTask守护程序。

您应该使用本地设置为每个Django实例运行ztaskd。基本上是使用

启动它
python manage.py ztaskd --settings=clients.site_settings &

请记住每个实例都有非冲突的ZTASKD_URL。对于本地ztaskd

ZTASKD_URL = 'ipc:///tmp/%s_ztask.sock' % SITE_NAME
<{3>}中提出的

是个好主意。