Perl CGI アプリケーションから 1 回限りのタスクをスケジュールするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/942749

  •  09-09-2019
  •  | 
  •  

質問

ユーザーが Web アプリケーション (Linux/Apache/CGI::Application) から 1 回限りの長時間実行タスクをスケジュールできるようにするアプリケーションを作成しています。これを行うには、 スケジュール::で 「at」コマンドへの Perl インターフェイスであるモジュール。スケジュールされたタスクは繰り返されないため、「cron」は考慮していません。ただし、「at」には 2 つの問題があります。

  1. CGI アプリケーションが suexec ラッパーで実行されている場合、スケジューリングは正常に機能しますが、Apache プロセスの所有者によってスケジュールされた場合は機能しません。両方の環境 (suexec と no-suexec) でスケジューリングを機能させるにはどうすればよいですか?
  2. 「at」または Schedule::At によってスケジュールされたプロセスには障害レポートがないようで、スケジュールされたタスクが通知なく失敗することがあります。スケジュールされたタスク (スケジューラー自体ではない) の実行に失敗したという事実をログに記録する方法はありますか?

私は「at」に固執していません。他のより堅牢なスケジューリング方法があれば、それを使用することに抵抗はありません。

ご清聴ありがとうございました。

役に立ちましたか?

解決

私はシュワルツ。これは、遅延までかかわらを持っていません。あなたは時を経てジョブをサブミットすると思いますが、それは限り、あなたのsubmit_jobスクリプトが簡単だったとして、あなたは上記のリストの問題の両方を解決する必要があります。

(注意点として、私は Gearman にのみ使用してきました、私はあなたを考えます「、このための信頼性の高いジョブキューをしたい 『火と忘れて、』あなたはダムあなたsubmit_jobを保つことができるので、メカニズムはd。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top