2013-04-19 9 views
5

どうしたのですか?セロリが私のHerokuで働いていない

私は最近、django-skelと呼ばれるすばらしいdjangoテンプレートを見つけました。私はdjangoでherokuを使うのがとても簡単になったので、プロジェクトを開始しました。セロリを働かせようとするまで、すごくうまくいっていました。私が何を試しても、私は自分の仕事を走らせることができませんでした。だから私は新しい裸の骨のアプリを始めただけで、私はそれを私の他の狂気が物事を防ぐことなく働くことができるかどうかを確認する。

これは私ですbare-bones app.私はこれを英雄で実行しています。 Djangoの管理者は働いています。私は自分のデータベースを同期化して移行しました。私はRabbitMQにCloudAMQP Little Lemurを使用しています。私はRabbitMQインタフェースで待ち行列に入れられたリクエストを見ますが、何も起こりません。私は、タスクをキューにどのように手動でシェルで実行されます。

from herokutest.apps.otgcelery.tasks import add 
result = add.delay(2,2) 

は私がすべての3 dynosはまだ何も実行していない、と持っていることを確認してください。

また、私はローカルで作業しています。

私にはたくさんの質問があると確信しており、私はそれらを喜んで提供しています。ちょうどお尋ねください。

+0

スケジューラのdynoを実行していますか? (少量のタスクを処理する場合は、ワーカーdynoは必要ありません。) – rdegges

+0

また、以下を実行することもできます: 'heroku ps:restart; heroku logs --tail --source app'とあなたのワーカーが起動しているときにエラーを探しますか? – rdegges

+0

私はスケジューラーdynoを実行しています。私はスケジューラーdynoを実行しています。私はここであなたのためにログを1秒でつかむでしょう。ありがとう。 – Chris

答えて

2

ありがとうございました。 私が間違ってやってしまったことがいくつかありました。まず、タスクを間違ってインポートしていたことです。私がしなければならなかったのは以下の通りでした:

from apps.otgcelery.tasks import add 
result = add.delay(2,2) 

セロリはあなたのタスクをどのようにインポートするのか非常に不安です。 2番目の問題は、CloudAMQP Free addonがdjango-skelでそのまま動作しないことです。彼らはあなたの接続数を3に制限し、どのスレッドがどのように起動するかは、これらの接続を信じられないほど高速に使用し、タスクが接続し始めないようにします。だから私はいくつかの方法でこれを修正しました。私は別のBigWigs RabbitMQを試してみました。しかし、彼らはまだベータにいたので、私はRedisを試してみることにしました。それも素晴らしい仕事だったし、私の仕事は私がそれらを呼び出すことができるほど速く発砲している。

もう一度皆さんにお世話になりました。