celery

celeryでclassのmethodを利用する方法

概要 django+celeryを利用して、あるクラスの処理を非同期に処理しようとした際に、メソッドを利用するところで、「takes exactly 2 arguments (1 given)」と怒られた。 (selfが渡っていないときなどによく見るエラー) 調べてみると、celeryから、classのmet…

django-celeryのインストール

以下、2012/12/02に全面的に追記/改修した。 概要 django-celeryのインストール手順と、簡単な動作確認の方法について以下記載する。 django-celeryとは celeryを使う(CentOS)で書いた"celery"をdjangoと連携して動作させるモジュールである。 これを使うこ…

celeryの実行でハマったこと2 (loggerが動かない!)

編集中 結論 celeryではloggerに、python loggingモジュールのラッパーを独自に用意している。そのため、呼び出し側のタスクでloggingモジュール(python組込みモジュール)を使用しようとしても、そのままでは競合し利用できない。 taskの中で、get_logger()…

celeryの実行でハマったこと(serializeにpickleが使われていた)

結論 celeryではserialize/deserialize(defaultではpickleを利用)してデータの受け渡しをしているため、celeryに渡すデータは、serialize/deserialize可能なデータにしましょう。 背景 celeryに、タスクを渡した時(do.delay(something))に、decode errorにな…

celeryを使う(CentOS)

概要 Celery(セロリ)は、非同期処理を行うタスクキュー/ジョブキューで、メッセージブローカーと呼ばれる、メッセージ送受信する仕組みと組み合わせて使用する。 メッセージブローカーは、RabbitMQ、Redis、Databaseなどから選択できるが、お勧めは、RabbitM…