将芹菜任务列为外键

时间:2018-03-22 17:38:42

标签: python django django-celery

是否可以让用户从django模型中的可用共享任务中选择任务?因此每个应用程序可能都有tasks.py,但它们都是@shared_tasks,我希望用户能够从列表中选择任务。

例如:

@shared_task
def create_event(incoming):
    print "create an event"


class Module(models.Model):
    name = models.CharField(max_length=256)
    task = models.ForeignKey(ShareTasks)

1 个答案:

答案 0 :(得分:1)

您必须使用将结果存储在django数据库中的后端。这是django-celery-results包,请参阅如何配置here

然后你只需要为appripriate模型制作一个外键,即

task = models.ForeignKey('celery_results.TaskResult')