我有一个多租户设置,我想将某些客户特定信息,特别是request.host传递给 celery 任务,理想情况下它应该在全局变量中可用。有没有办法以对应用程序透明的方式进行设置?
任务将以相同的方式调用:
my_background_func.delay(foo, bar)
该任务的定义方式相同,除了它可以访问一个名为“request”的全局变量,该变量具有“主机”属性:
@celery_app.task
def my_background_func(foo, bar):
print "running the task for host:" + request.host