2012-03-05 13 views
3

私が書いているアプリケーションの一部では、ユーザーが画像をアップロードしてサイズを変更し、自動的にamazon s3にアップロードできます。現在、画像のサイズ変更はビュー内で行われており、セロリを介して分散した作業者にこれをオフロードしたいと考えています。私の質問は、作業員にイメージを取得する最良の方法です。私の現在の考えは、データベースに直接画像を保存して、IDをワーカーに渡してそれを取得させることです。それが処理されるまで、一時的にデータベースに格納する方がよいでしょうか?セロリのタスクに画像を渡す

答えて

2

セロリドキュメントに記載されているように、余分なオーバーヘッドが発生するため、すべてのもの(イメージ)を引数として渡さない方が良いです。したがって、最初に保存してから、写真IDを引数として渡し、画像をタスクに取り込み、サイズ変更/アップロードを行う方がよいでしょう。

+0

しかし、他にもpostgresqlに直接保存するオプションがありますか? – whatWhat

+0

こちらをご覧くださいhttp://stackoverflow.com/questions/4330719/django-celery-how-to-send-request-filesphoto-to-task – hymloth

1

セロリに画像を渡すことはできませんが、画像はピクルできませんが、画像を分解してセロリの作業員に送信して、簡単に画像を再構築して、それと。

私は、作業者に画像を保存する負荷を軽減する小さなアプリケーションを作成しますが、それをフォークして独自のサイズ変更を追加するのは難しくありません。それをチェックしてくださいhttps://github.com/gterzian/django_async

関連する問題