2013-03-07 9 views
13

私は最終的にいくつかの自由時間があり、HerokuのPython/FlaskプロジェクトにCeleryを追加したいと思っていました。しかし、Herokuのドキュメントからセロリのほとんどすべての言及はなくなりました。 "Djangoを使い始める"の記事では、以前は記事がありましたが、それはなくなりました。Herokuはもはやセロリをサポートしていませんか?

「自分でやっていますか? Heroku上でバックエンドとして使用するには良いAMQPアドオンは何ですか?

答えて

55

私はHerokuのPythonの所有者です。

セロリはまだ完全にサポートされています。 Djangoガイドの一番下にあるドキュメントは、最新版のCelery(v3.0)で古くなっていて、かなり不完全だったため削除されました。

私は現在、セロリーを最大限に活用する方法について深く掘り下げた新しいDev Center articleに取り組んでいます。すぐに投稿する必要があります。

キューアドオンについて - 私はCloudAMPQの大ファンです。

+7

+1。 – jathanism

+4

これは掲載されていますか?それは1ヶ月後ですが、何も見つかりません。 – speg

+1

このケネスを楽しみにしています! – Erik

3

彼らはドキュメントを変更したようです。セロリが単にサポートされていないかどうかは分かりません。単純にPythonパッケージなので、インストールするだけです。

how to get started with Djangoのマニュアルです(最後にセロリが見られた部分はありません)。彼らは今セロリが以前にしたことをするためにRQを使うようです:Background Tasks in Python with RQ。あなたはまだセロリに関する何かを見つけるかもしれませんherehere、それは私が見つけたものです。

一般的に、セロリは単に削除されるのではないかと疑います。 Celeryで既に何かが設定されている他のすべてのアプリに影響を与えます。私はあなたがまだそれを働かせることができ、Herokuのドキュメントからいくつかの記事を見つけるかもしれないと思う。

+0

同じ参照が見つかりました。他の残りのHerokuドキュメントのセロリーへの参照は実際には役に立たず、実際にはほとんど存在しません。 もちろん、セロリは単なるパッケージであり、私はそれを自分で行うことができましたが、ドキュメントを削除し、もう1つのPythonドキュメントをmenion only rqに変更し、プラグインを削除しました(プラグインがあったと思います)。それは、それが働かない問題を発見したように思います。自発的に取り除かれることはありません。 私は検索しましたが、外のチュートリアルは見つかりませんでした。私はさらにいくつかを検索します。 –

+0

セロリーの例はひどいですが、データベースブローカーを使用していたので、誰かが問題を経験しても驚かないでしょう(データベースの使用はお勧めしません) – asksol

+0

セロリ? –

1

Herokuのバックグラウンドタスクとしてセロリに問題があると思います。このようなタスクを作成しようとしましたが、RedisやRabbitMQではDEBUG = Falseの場合でも、約20分間実行した後にすべてのメモリを使用します。さらに悪いことに、メモリは決して解放されません。毎回、作業者を再起動する必要があります。 裸のLinuxやMacでForemanと同じコードが完璧に動作します。 ループでテキストファイルを読み込んだり、Djangoモデルに書き込んだりするなど、非常に単純な作業で発生します。

2

この作業をどのように行うかを理解したいと思っているよりもずっと時間がかかりましたが、それは本当に簡単です。 procfileにセロリプロセスを追加します。すべてだ

heroku ps:scale celery=1 

web: newrelic-admin run-program gunicorn -w 4 myapp.wsgi 
celery: python manage.py celeryd -c 3 --beat 

すると、ちょうど少なくとも1にセロリのダイナモをスケーリングすることを確認してください:それはこのような何かを見てみましょう。

+0

こんにちはJosh - これについてより詳細なブログ記事を書くことができますか?私は100ドルを支払うつもりです。 – jononomo

+0

私は議論するために私に連絡してください。ありがとう。 – Josh

2

私たちはHerokuでセロリを完全にサポートしています。あなたは私のワーカープロセスの命名とスケーリング、および任意のプロセスの実行でワーカーを実行することができます。バックエンドとして何を使用するかについては、Rabbit、Redisなどを介してこれをサポートできるさまざまなアドオンプロバイダがあります。

devcenter内の詳細なガイドはhttps://devcenter.heroku.com/articles/celery-herokuです。

関連する問題