ユーザーが Web アプリケーション (Linux/Apache/CGI::Application) から 1 回限りの長時間実行タスクをスケジュールできるようにするアプリケーションを作成しています。これを行うには、"at" コマンドへの Perl インターフェイスであるSchedule::Atモジュールを使用します。スケジュールされたタスクは繰り返されないため、「cron」は考慮していません。ただし、「at」には2つの問題があります。
- 私の CGI アプリケーションが suexec ラッパーの下で実行されている場合、スケジュールは正常に機能しますが、Apache プロセスの所有者によってスケジュールされている場合は機能しません。両方の環境 (suexec と no-suexec) でスケジュールを機能させるにはどうすればよいですか?
- 「at」または Schedule::At によってスケジュールされたプロセスには障害レポートがないようで、スケジュールされたタスクがサイレントに失敗することがあります。スケジュールされたタスク (スケジューラ自体ではない) が実行に失敗したという事実をログに記録する方法はありますか?
私は「at」に固定されておらず、他のより堅牢なスケジューリング方法があればそれを使用することにオープンです。
ご清聴ありがとうございました。