GNU/Linux >> Linux の 問題 >  >> Linux

定期的なイベントのスケジュール:Cron/Cron の代替 (Celery を含む)

Celery 以外の簡単なアプローチ方法は、非同期またはスケジュールされたタスクを実行するカスタム django-admin コマンドを作成することです。

次に、Windows では at を使用します。 これらのタスクをスケジュールするコマンド。 Linux では、cron を使用します。 .

また、開発環境で可能であれば、Windows を捨てることを強くお勧めします。 Linux や Mac OSX でさえも、あなたの生活はより良いものになるでしょう。たとえば、スペアまたは古いマシンを Ubuntu で再利用するか、Windows ボックスの VM で Ubuntu を実行します。


ジャンゴ クロノグラフは素晴らしい代替品です。 1 つの cron をセットアップするだけで、django admin ですべてを実行できます。 django 管理からタスク/コマンドをスケジュールできます。


私は同じ問題を抱えていたので、セロリ (複雑すぎる) または cron (アプリケーションの外部) で解決しようとするのを延期し、最終的に Advanced Python Scheduler を見つけました。使い始めたばかりですが、かなり成熟していて安定しているように見えます。適切なドキュメントがあり、多くのスケジューリング形式 (cron スタイルなど) を使用できます。

ドキュメントから、特定の間隔で関数を実行します。

from apscheduler.scheduler import Scheduler
sched = Scheduler()
sched.start()
def hello_world():
    print "hello world"
sched.add_interval_job(hello_world,seconds=10)

これは非ブロッキングであり、 urls.py からモジュールをインポートするだけで、まったく同じものを実行します .これがお役に立てば幸いです。


https://github.com/andybak/django-cron

単一の cron タスクによってトリガーされますが、スケジューリングと構成はすべて Python で行われます。


Linux
  1. Linuxcronコマンドを使用したタスクのスケジューリング

  2. Linuxでcronを使用する方法

  3. LinuxでのCronを使用したシステムタスクのスケジューリング

  1. Linuxでのcronの4つの代替手段

  2. Centos – Centos7ですべてのcronレコードを表示する方法は?

  3. 自分のマシンでスケジュールされているすべての cron ジョブのリストを取得するにはどうすればよいですか?

  1. cronラッパースクリプトの使用

  2. cronジョブのトラブルシューティング

  3. Notify-Send With Cronを使用していますか?