suchen

Heim  >  Fragen und Antworten  >  Hauptteil

python – So führen Sie geplante Sellerie-Aufgaben ohne Verzögerung aus

Wenn Sie Sellerie verwenden, um geplante Aufgaben auszuführen, wie zum Beispiel den folgenden Code

app.conf.beat_schedule = {
    # 'login_task': {
    #     'task': 'tasks.login.excute_login_task',
    #     'schedule': 60*60*20.0,
    # },
    'test_celery': {
        'task': 'tasks.login.test_timertask',
        'schedule': 60.0,
    }
}

Im Einsatz

celery beat -A task.login --loglevel=info

Nach

kommt es zu einer Verzögerung von 60 Sekunden, bevor die erste Aufgabe ausgeführt wird. Ich möchte fragen: Wie kann ich es so schreiben, dass es ausgeführt werden kann, wenn die geplante Aufgabe zum ersten Mal gestartet wird, und dann alle 60 Sekunden erneut ausgeführt wird?

伊谢尔伦伊谢尔伦2782 Tage vor895

Antworte allen(1)Ich werde antworten

  • 高洛峰

    高洛峰2017-05-18 11:00:11

    简单方法 在这个之后 or 之前调用tasks.login.test_timertask()

    app.conf.beat_schedule = {

    # 'login_task': {
    #     'task': 'tasks.login.excute_login_task',
    #     'schedule': 60*60*20.0,
    # },
    'test_celery': {
        'task': 'tasks.login.test_timertask',
        'schedule': 60.0,
    }

    }

    Antwort
    0
  • StornierenAntwort