2

私はDjangoを使用してWebアプリケーションを開発しています。このアプリケーションは、Celeryを使用して非同期タスクを処理します。特にトランザクションメールの場合はそうです。

私の電子メールタスクの1つはETAオプションでスケジュールされていますが、並行して複数回実行されるため、メールチェーンが非常に煩わしくなります。理由がよくわかりません。Djangoコードを2回チェックしましたが、1回だけ公開されていると確信しています。

ブローカー/バックエンドの結果としてRedisを使用しています。

私のCeleryデーモンはHerokuでホストされており、次のコマンドで起動されます。

python manage.py celeryd -E -B --loglevel=INFO

ご協力いただきありがとうございます。

編集: #celery IRCチャンネルの人のおかげでここで有効な解決策を見つけました:http://loose-bits.com/2010/10/distributed-task-locking-in-celery.html

4

1 に答える 1

2

一度に 1 つのタスクのみが実行されるようにするドキュメントを確認しましたか?

于 2013-02-25T21:50:55.150 に答える