CrontabとAPScheduler
APScheduler
ASchedulerはPythonタイミングタスクフレームワークで、使いやすいです.日付、固定間隔、crontabタイプに基づくタスクが提供され、タスクを永続化し、daemon方式でアプリケーションを実行できます.
DjangoでAPSchedulerを使う
インストールパッケージ:
登録の使用プロファイル内のINSTALL_APPSにおける登録タイミングタスク 対jobの操作 add_job():jobを変更または削除するために使用できるapscheduler.job.Jobのインスタンスが返されます. scheduler_job():アプリケーションの実行中に変更されないjob にのみ適用されます.
job除去 remove_job():jobIDを使用して を削除 job.remove():add_を使用job()は、インスタンス を返す
いどう
具体的な実装1、異常が発生する可能性があるので、まず異常捕獲 を使用する必要がある.2、スケジューラのインスタンス化オブジェクト を作成する. 3、使用するスケジューラ を宣言する4、デコライザを使用する形式で、タイミングで実行するタスクの登録と循環方式、スケジューラ、実現制限など を設定する.5、タスクを監視し、 6、オープンスケジューラ: 7、エラーが発生した場合、スケジューラは直ちに実行を停止する: Crontab
djangoの使用前提django_crontabはLinuxのcrontabが開いている場合に使用する必要があります.そうしないと、実行しない場合があります. インストール
登録app
settings.pyの構成 パラメータの説明:「*/5***」は5分に1回を表すが、django-crontabはLinuxを呼び出すcrontabである. 最初のパラメータ:実行時間またはサイクルを表す 時間の順序は である.
第2パラメータ:タイミング実行が必要な関数(パス+関数名) を表す.第3パラメータ:log情報を出力するパス+logファイル
使用開始 起動 現在のタイミングタスク を表示する. すべてのタイミングタスク を削除 編集タイミングタスク タイミングタスク の表示
一般的なパラメータ
ASchedulerはPythonタイミングタスクフレームワークで、使いやすいです.日付、固定間隔、crontabタイプに基づくタスクが提供され、タスクを永続化し、daemon方式でアプリケーションを実行できます.
DjangoでAPSchedulerを使う
インストールパッケージ:
pip install apscheduler
pip install django-apscheduler
登録の使用
いどう
migrate
は、必要なタイミングタスクを管理するために使用されるdjango-apscheduler_djangojob
、django_apscheduler_djangojobexecution
の2つのテーブルを生成します.具体的な実装
scheduler=BackgroundScheduler()
scheduler.add_jobstore(DjangoJobStore),"default")
@register_job(scheduler, 'cron', day_of_week='mon-fri', hour='9', minute='30', second='10',id='task_time')·
def test_job():
t_now = time.localtime()
print(t_now)
django_apscheduler.jobstores
から提供されたregister_を使用するeventsモニタリングタスク:register_events(scheduler) scheduler.start()
scheduler.shutdown()
djangoの使用
pip install django-crontab
INSTALLED_APPS = ('django_crontab',...)
CRONJOBS = [('*/5 * * * *', ' . ','>>/home/book.log')]
-> -> -> ->
python manage.py crontab add
python manage.py crontab show
python manage.py crontab remove
crontab -e
crontab -l
"*"
"/" ' ', /5,