問題タブ [kombu]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - django-celeryとamqpメッセージブローカーを理解するのに助けが必要です
私はDjangoで働いており、django-celeryをインストールしました。セロリデーモンがローカルサーバーで実行されており、タスクを受け入れ/実行しています。
私にとっての最後の部分は、別のサーバー上のAMPQブローカーにメッセージを送信するタスクを作成することです。ブローカーの構成はsettings.pyファイルにありますが、AMPQサーバーに接続してメッセージを作成する方法(ヘッダーとjsonでエンコードされたペイロードを使用)がわかりません。
そして今、私は外部のAMQPブローカーにメッセージを送信するためだけにセロリを実行する必要があるのかどうか疑問に思いました。
アップデート:
Kombuを使用してAMQPブローカーに公開していますが、正しい交換、routing_key、exchange_typeを使用してパブリッシャー接続を正常に確立できるようです。私のメッセージは、3つのキーと値のペアを持つヘッダーとjsonでエンコードされたペイロードで構成されている必要があります。メッセージの作成方法がわかりません。
django - 昆布を使用したメッセージ公開-TypeError'str'オブジェクトは呼び出せません
メッセージペイロードをjsonにエンコードした後、次の方法でブローカーに公開しようとしています。
djangoは次を返します:
python - SQS で Celery タスクを取り消す
Amazon SQL で Celery + Kombu を使用しています。目標は、特定の日時にすでにスケジュールされているタスクを削除できるようにすることです。私はもう試した
しかし、それは何も変わりませんでした。SQS トランスポートの取り消しは実装されていませんか? その背後に何らかの設計上の決定があるのでしょうか、それともコードの「DeleteMessage」行によって実装されるべき機能が欠けているだけなのでしょうか?
django - Django-Celery 2.5.3 BROKER_URL エラー 'No such transport: mysql'
セロリを 2.4.X から celery-2.5.2 にアップグレードし、Broker_URL を次のように変更しました。
この構成は、 http://docs.celeryproject.org/en/latest/getting-started/brokers/sqlalchemy.html#broker-sqlalchemyのページから参照できます。
Celery プロセスは正常に開始できますが、呼び出すと. delayまたはapply_asyncプロセスは例外KeyError: 'No such transport: mysql'をスローします 。これについてはわかりません..すべてが正しいはずです。
トレースバック
トレースバック (最新の呼び出しが最後):
django - Django&Celery —ルーティングの問題
DjangoとCeleryを使用していて、複数のキューへのルーティングを設定しようとしています。routing_key
タスクとexchange
(タスクデコレータまたはを使用して)を指定するとapply_async()
、タスクはブローカー(MySQLデータベースに接続しているKombu)に追加されません。
タスクデコレータでキュー名を指定すると(ルーティングキーが無視されることを意味します)、タスクは正常に機能します。ルーティング/交換の設定に問題があるようです。
問題が何であるかについて何か考えはありますか?
設定は次のとおりです。
settings.py
tasks.py
タスクを開始します:
django - run_every を無視するセロリ/昆布
最近展開した昆布/セロリのセットアップです。タスクは正常に実行されますが、run_every 属性を尊重するのではなく、ほぼ連続して実行されているように見えます。おそらくもっと奇妙なことに、この動作は本番環境でのみ発生し、ローカルでは正常に機能します。
私tasks.py
はこのように見えます:
マイsettings.py
インクルード
プラス'djcelery'
と'kombu.transport.django'
インINSTALLED_APPS
。
そして本番環境ではpython manage.py celeryd -v 2 -B -s celery -E -l INFO
、タスクの実行を開始するために実行します。他に何か問題が解決する場合は、Chase Seibert のチュートリアルに従っていました。
python - セロリエラー'そのようなトランスポートはありません:amqp'
セロリは正常に動作していました。ある日、コマンドラインワーカーが次のトレースで起動できませんでした。
コードをトレースすると、「amqp」が不思議なことに欠落していることがわかりましkombu.transport.TRANSPORT_ALIASES
たが、それが私がトレイルを失った場所です。
python - django-属性エラーを与えるセロリ管理コマンド:'_multiprocessing.SemLock'オブジェクトに属性'name'がありません
管理者に通知メールを送信したいのですが、たとえば、投稿がスパムされた場合、管理者はメールを受け取る必要があります。django-celerytemplated_emailとkombuを使用しています。しかし、djceleryの任意の管理コマンドを実行するとエラーが発生します
D:\ test \ testapp> python manage.py celeryd -l info C:\ Python27 \ lib \ site-packages \ django_celery-3.0.4-py2.7.egg \ djcelery \ loaders.py:116:UserWarning:
設定の使用.DEBUGはメモリリークを引き起こします。nwarnings.warn( "settings.DEBUGを使用するとメモリリークが発生しますが、決して"
前もって感謝します
asynchronous - 昆布とピカ非同期の使い方は?
昆布を使って、2つのメッセージを同時に処理するサーバーを作成しようとしています。私のトランスポートはrabbitmqです。
答えは、昆布とpika-asyncを使うことだと思います。ただし、これを行う方法についてのドキュメントはないようです。
ヘルプ?