を使用して実行する単純な Plack アプリ ( Plack::App::GitHub::WebHookのようなもの) がありますplackup
。リクエスト ハンドラーで長時間の操作を実行すると、現在、操作が完了するまでアプリが後続のリクエストに応答しなくなります。他のリクエストをブロックせずにバックグラウンドで操作を実行するにはどうすればよいですか? フォローアップの質問ですが、そのバックグラウンド キューで最大 1 つのジョブを実行し続けるにはどうすればよいですか?
私はlibdispatchに慣れているので、次のようなものが好きです:
my $queue = Hypothetical::Concurrency::Queue->new(max_jobs => 1);
$queue->dispatch(sub {
# code
});