プロセスを継続的に監視しなければならず、プロセスIDを使用してプロセスを監視します。私は手作業で再スケジュールするようにプロセスが停止したら電子メールを送信するプログラムを書いたが、しばしばプロセス(基本的に別のpythonプログラム)の再スケジュールを忘れる。私はapschedulerモジュールを見つけ、cronスタイルのスケジューリング(http://packages.python.org/APScheduler/cronschedule.html)を使用して、プロセスが停止したらプロセスを起動しました。プロセスのPIDが一旦消去されると、プロセスを起動することができましたが、私がapschedulerを使用して起動すると、新しくスケジュールされたプロセスのプロセスID(PID)を取得できません。したがって、私はプロセスを監視することができません。 apschedulerにスケジュールされたプロセスのプロセスIDを取得する機能はありますか?python apschedulerを使用してジョブをスケジュールする
1
A
答えて
3
pidを返すためにAPScheduleに頼るのではなく、プログラムがpid自体を報告しないようにしてください。デーモンには、実行中のプロセスのpidだけを含む既知の場所にあるファイルであるpidファイルがあるのが一般的です。ただ、このようなもので、あなたの主な機能をラップ:
import os
try:
with open("/tmp/myproc.pid") as pidfile:
pidfile.write(str(os.getpid()))
main()
finally:
os.remove("/tmp/myproc.pid")
今、あなたはあなたのプロセスを監視するたびに、まずPIDファイルに存在するかを確認することができ、そしてそれがない場合には、更なるためのプロセスのPIDを取得モニタリング。これは、cronの特定の実装とは独立しているという利点があり、プログラムとローカルでやりとりするプログラムをさらに作成したい場合には、将来容易になります。
関連する問題
- 1. HerokuでAPSchedulerを使用してcronジョブをスケジュールするにはどうすればよいですか?
- 2. APSchedulerジョブがスケジュールどおりに起動していません。
- 3. Visual Studioを使用して実行するPythonジョブのスケジュール
- 4. apschedulerを使用して特定の時刻にジョブをトリガする方法は?
- 5. uwsgi + flask_apschedulerを使用してapschedulerにジョブを追加する方法
- 6. クォーツを使ってジョブをスケジュールする
- 7. Kubernetesを使用してスパーククラスターでジョブをスケジュールする方法
- 8. クラスフィールドのcron式を使用してジョブをスケジュールする
- 9. Jobschedulerを使用してジョブをスケジュールする方法
- 10. Rufus Schedulerを使用して毎日ジョブをスケジュールする方法
- 11. ジョブとスケジュールをpgagentを使用してプログラムで作成する
- 12. pythonスクリプトでsidekiqジョブをスケジュールする
- 13. ストアドプロシージャを使用して別のサーバーのSQLジョブをスケジュール
- 14. APEXを使用して毎日スケジュールされたジョブを実行
- 15. 問題Djangoプロジェクトにapschedulerを使用してProcfile(Heroku)でCronジョブを定義する
- 16. APSchedulerはどのようにジョブをデータベースに保存しますか? (Python)
- 17. postgresでジョブをスケジュールする
- 18. SQLジョブをスケジュールする
- 19. chroniton.NETCoreを使用してasp.NETで固定終了日のジョブをスケジュールする
- 20. ビルドツールとしてgradleを使用して、Windowsスレーブでジョブをスケジュールしたい。
- 21. python_crontabを使用してスケジュールされたジョブは動作しません
- 22. Meteorを使用して各タイムゾーンで毎晩各cronジョブをスケジュールします
- 23. CRONジョブなどを使用してLinuxでPHPでジョブをスケジュールする方法は?
- 24. APSCHEDULERを使用したSQLiteのSQL INSERT
- 25. python apschedulerがシャットダウンしない
- 26. Pythonは特定の時刻にジョブをスケジュールします
- 27. 拡張選択パラメータを使用したJenkinsジョブのスケジュール
- 28. APSchedulerでスレッドプールにジョブを追加する方法
- 29. APSchedulerのジョブをMySQLデータベースに保存するには?
- 30. スケジュールAutosysジョブ