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