1. ホーム
  2. python

[解決済み] PythonでCronのようなスケジューラーを使うにはどうしたらいいですか?[クローズド]

2022-03-22 20:33:58

質問

私は、Pythonのライブラリで atcron のような機能です。

私は、箱にインストールされたツールに頼るのではなく、純粋なPythonのソリューションが欲しいと思っています。

をよく知らない人のために cron のような式に基づいてタスクをスケジュールすることができます。

 0 2 * * 7 /usr/bin/run-backup # run the backups at 0200 on Every Sunday
 0 9-17/2 * * 1-5 /usr/bin/purge-temps # run the purge temps command, every 2 hours between 9am and 5pm on Mondays to Fridays.

cronの時間表現構文はあまり重要ではありませんが、このような柔軟性を持ったものが欲しいですね。

もし、このようなことをすぐにできるものがなければ、このようなものを作るための構成要素について何か提案があれば、ありがたく受け取らせていただきます。

編集 私はプロセスの起動に興味があるわけではなく、単に "jobs" も Python で書かれています - python 関数です。必然的に、私はこれが別のスレッドになると思いますが、別のプロセスではありません。

そのために、cronの時間表現の表現力を、Pythonで探しているのです。

クーロン があります。 は何年も前からありますが、できるだけポータブルなものにしようと思っています。その存在に頼ることはできません。

解決方法は?

軽量なものを探している場合チェックアウト スケジュール :

import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)

while 1:
    schedule.run_pending()
    time.sleep(1)

ディスクロージャー : 私はそのライブラリの作者です。