試したことはありませんが、一般的にPythonコードから行うのと同じ方法で、セロリタスク内でルイージタスクフォームを呼び出すことができるはずだと思います:
from foobar import MyTask
from luigi import scheduler
task = MyTask(123, 'another parameter value')
sch = scheduler.CentralPlannerScheduler()
w = worker.Worker(scheduler=sch)
w.add(task)
w.run()
キューとセロリ ワーカーのスケーリングについて: ルイージ タスクを呼び出すセロリ ワーカーが多すぎる場合は、もちろん、ルイージ スケジューラ/デーモンをスケーリングして、API リクエストの数を処理できるようにする必要があります (実行するタスクを呼び出すたびに)。 、Luigi スケジューラ API をヒットすると、N 秒ごとに - 設定によって異なります - タスクはスケジューラ API をヒットして「私は生きています」と言い、タスクが -error または success で終了するたびに - スケジューラ API をヒットします、 等々)。
そうです、スケジューラーをよく見て、あまりにも多くの http リクエストを受信していないか、データベースがボトルネックになっていないかを確認してください (luigi はデフォルトで sqlite を使用しますが、簡単に mysql または postgres に変更できます)。
更新:
バージョン 2.7.0以降、ここに表示luigi.scheduler.CentralPlannerScheduler
されているように名前が変更さluigi.scheduler.Scheduler
れたため、上記のコードは次のようになります。
from foobar import MyTask
from luigi import scheduler
task = MyTask(123, 'another parameter value')
sch = scheduler.Scheduler()
w = worker.Worker(scheduler=sch)
w.add(task)
w.run()