2017-10-05 25 views
0

私の関数に引数を渡すときに、celerybeatのスケジュールで問題が発生しました。検索後、私はargsコマンドでそれらを渡すことができるはずですが、以下のようにエラーを取得しているように見えます。誰も私を正しい方向に向けることができますか?celerybeatスケジューラー経由で関数に引数を渡す方法は?

CELERYBEAT_SCHEDULE = { 
    'maintenance_mail_1_day': { 
     'task': 'home.tasks.maintenance_mail', 
     'schedule': crontab(hour='15'), 
     'args' : (1), 
    }, 
    'maintenance_mail_3_day': { 
     'task': 'home.tasks.maintenance_mail', 
     'schedule': crontab(hour='15'), 
     'args' : (3), 
    },  
    'maintenance_mail_5_day': { 
     'task': 'home.tasks.maintenance_mail', 
     'schedule': crontab(hour='15'), 
     'args' : (5), 
    }, 
    'maintenance_mail_7_day': { 
     'task': 'home.tasks.maintenance_mail', 
     'schedule': crontab(hour='15'), 
     'args' : (7), 
    } 

タスク、PY

@app.task 
def maintenance_mail(days): 
    return send_maintnance_emails(days) 
+0

どのようなエラーが発生しますか? –

+0

argはタプルでなければなりません: '' args ':(1、) '(余分なカンマに注意してください) – schwobaseggl

答えて

1

以下はPythonで成り立つ:それシングルトンtupleようにするために(1) == 1

、余分なコンマを追加:(1,)し、それに応じて設定内を:

# ... 
'args' : (1,), 
# ... 
関連する問題