私は午前10時に1日に1回何らかの機能を実行したいとしましょう。スケジュールされたPythonプログラムはどのように実行されますか?
- 私は単にスクリプトをバックグラウンドで永久に実行していますか?
- ラップトップを一度に開いたり開いたりしたくない場合はどうすればよいですか?
- プロセスがCPUを大量に消費しますか?
cron/launchdとプログラムによるスケジューリングを使用すると、これらの質問に対する回答が異なりますか?ありがとう!
私は午前10時に1日に1回何らかの機能を実行したいとしましょう。スケジュールされたPythonプログラムはどのように実行されますか?
cron/launchdとプログラムによるスケジューリングを使用すると、これらの質問に対する回答が異なりますか?ありがとう!
この質問に対する回答は、お使いのプラットフォーム、利用可能な施設、および特定のプロジェクトニーズによって異なる場合があります。
まず、システムリソースに対処しましょう。リソースを最小限に抑えるには、time.sleep(NNN)
を呼び出します.NNNは、10AMの次のインスタンスまでの秒数です。 time.sleep
は、プログラムの実行を中断し、ゼロ(または実質的にゼロのリソース)を消費する必要があります。 Python GCは定期的に起動してメンテナンスを行いますが、作業は無視してください。
UNIXの場合は、cron
が将来のタスクをスケジュールするための典型的な機能です。これは、かなり効率的なFranta-Malyイベントリストマネージャーを実装しています。それは発生するタスクのリストに基づいて決定されます次のそしてそれまで眠ります。
Windowsでは、スケジュールマネージャがあります。それは複雑なフランケンシュタインですが、それは信じられないほど柔軟性があり、停電やノートパソコンの休止などのために逃したイベントを処理することができます。
[cron](https:// en.wikipedia.org/wiki/Cron)または[システムタイマー](https://www.freedesktop.org/software/systemd/man/systemd.timer.html)を参照してください。 Windowsの場合、私は同様のスケジューラがあると確信しています。 – larsks
CPUの質問に対する答えは実際にあなたのスクリプトが何をしているかによって異なります。 –
@ cricket_007、私はOPが 'time.sleep(24 * 60 * 60)'によってスケジューリングが実装されている場合、プログラムがCPU時間を消費するかどうかを意味していると思います。 – kay