Mojolicious アプリケーションへのリクエストで、長時間実行されるジョブをトリガーできるようにしたいと考えています。クライアントはその長いジョブが終了するのを待つ必要がないので、アプリが迅速な応答を返し、ジョブを開始できるようにしたいと考えています。これが私が考えていることです:
use Mojolicious::Lite;
get '/foo' => sub {
my $self = shift;
$self->render( text => 'Thanks for requesting /foo. I will get started on that.' );
# ... force Mojolicious to send response now ...
do_long_running_job();
};
しかし、このようなコードを書くと、クライアントは長時間実行されているジョブが終了するまで応答を受信しません (非アクティブ タイムアウトなどを引き起こす可能性があります)。応答をより迅速に送信する方法はありますか? これを達成するためにコード/アプリを構成する別の方法はありますか?
有望に見えたが機能しなかったドキュメントからのもの:
$self->rendered(200);
$self->res->finish;