Django-Celery根据我的模型创建一个PeriodicTasK

时间:2018-12-11 14:13:46

标签: django celery periodic-task

我有这个模特

class Discoveries (models.Model):
  creation_date   = models.DateTimeField(auto_now=True)
  last_run        = models.DateTimeField(auto_now=True)
  created_by      = models.CharField(default="Admin", blank=False, max_length=250)
  name            = models.CharField(blank=False, default="Default Network Discovery", max_length=250)
  target          = models.CharField(blank=False, max_length=250)
  ports           = models.CharField(max_length=300, blank=True, null=True)
  options         = models.CharField(default="-T4 -sV -A  -PS", max_length=350)

我有这个任务

@app.task

def run_discovery(data):


    n = discovery.discovery()
    run = {'target': data['target'], 'options':data['options']}

    b = n.run_discovery(run)

我的问题是,要运行任务的“数据”是发现模型实例,如何将发现模型与PeriodicTask关联? 在我的前端,我有一个表单来创建Task并选择相同的参数来创建PeriodkTask,然后在用户保存新的Disvory时,我想基于此参数创建一个新的Periodic Task。

0 个答案:

没有答案