djangoを使用してレポートポータルを構築しています。このポータルでは、ユーザーに、レポートを再帰的に実行するようにスケジュールする機能を提供する必要があります。私はdjango-cellelを研究しており、periodic_taskデコレータを使って再帰的なタスクをスケジューリングできることを理解していますが、cronのスケジュール情報がすべてデコレータにハードコードされているのを見てきました。ユーザー入力に基づいてdjango-celeryを使用してタスクをスケジュールする
@periodic_task(run_every=crontab(hours=7, minute=30, day_of_week="mon"))
動的にユーザからの入力に基づいて再発タスクをスケジュールするジャンゴ・セロリを使っ方法はありますか?
たとえば、ユーザーはフォームを使用して実行するレポートを選択し、レポートで必要なすべてのパラメータとレポートを実行するスケジュールを指定します。フォームを処理したら、run_reportタスクをスケジュールに追加するために呼び出せるメソッドまたは関数がありますか?もしそうなら、データベースに保存されているすべての現在のスケジュールを取得して表示できるようにする方法がありますか?
代わりに、次のタスクをスケジュールするタスクをスケジュールすることができます。 – DanJ
内部関数が作成され、動的に作成された 'crontab'オブジェクトで' @ periodic_task'デコレータを適用するとどうなりますか?私は同じ問題を抱えています。多分これが助けになるでしょうか? –
私はまったく同じ問題を抱えています。どのようにあなたがそれを解決したかについての情報はありますか? – Jannis