この記事は yosida95.com に移動しました。 新しい URL は https://yosida95.com/2012/11/04/182244.html です。 お手数をお掛けしますが、ブックマークの付け替えをお願いします。
この記事は yosida95.com に移動しました。 新しい URL は https://yosida95.com/2012/11/04/182244.html です。 お手数をお掛けしますが、ブックマークの付け替えをお願いします。
先ほどの記事の続きです。Celeryでcronの代わりにタスクのスケジュールをしたいという話です。 先ほどの記事でも使ったtasks.pyが以下です。myappの中に配置しています。 # myapp/tasks.py from celery.task import task from celery.log import get_default_logger @task def add(x, y): logger = get_default_logger() logger.info('add called') return x + y 早速このタスクをスケジュールしてみましょう。settings.pyに以下を追記します。CELERYBEAT_SCHEDULEに登録したいタスクを記述していく感じです。簡単ですね。この例では30秒置きにタスクを実行します。 from celery.schedul
はい、Celeryです。Celeryって本当によく使いますけど、本当に初見殺し多いですよね。今回はふとした気の迷いでそんなハマリポイントをいくつか羅列してみます。 (基本 django-celery を対象にしています) ハマリポイント1 - MySQLがデッドロックして動作しなくなった BlockerをMySQLにした時に起こります、公式ドキュメントにも書いてある有名なハマリポイント。 対策 SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED をsession毎に発行 my.confに書いてデフォルト設定 ハマリポイント2 - Task Resultsが消えない ## いつもRabbitMQ、 RedisをBlockerにしてたんだけど、Databaseに変えた途端起こるハマリポイント。 CELERY_TASK_RESULT_EX
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く