昆布には 2 つのキューがあります。1 つは (何かをするために) リクエストを送信するためのもので、もう 1 つは pub/sub を介してそのリクエストの増分ステータスを吐き出すものです。したがって、私のプロセスでは、リクエストキューに公開され、レスポンスキューで消費されます。タスクには時間がかかる場合があるため、バックエンドで何が起こっているかについてユーザーにフィードバックを提供したいと考えています。kombuコールバックを使用すると、たとえば、ユーザーに情報を吐き出すステートメントをconsume
追加できるため、すべてコマンド ラインで機能します。logging.info()
def callback( msg, env ):
logging.info( str(msg) )
consumer.register_callback( callback )
consumer.consume()
while continue_consuming:
connection.drain_events()
ただし、django で同じ機能を提供できるようになりたいと考えています。オブジェクトgenerator
への入力として関数を作成できることを理解しています。HttpResponse
def view( reqeust ):
HttpResponse( gen() )
def gen():
yield 'streaming... '
しかし、昆布キューのメッセージコールバックをジェネレーターに実装してこれを提供する方法を概念化することはできません...何かアイデアはありますか?
可能であれば、データベース層を使用して進行状況/結果を保存する必要はありません。