我有一个简单的 Plack 应用程序(类似于Plack::App::GitHub::WebHook),我使用plackup
. 我在请求处理程序中执行了一个冗长的操作,这使得应用程序在操作完成之前无法响应后续请求。如何在后台执行操作而不阻塞其他请求?还有一个后续问题,我怎样才能让后台队列中最多运行一个作业?
我习惯了libdispatch,所以我喜欢这样的东西:
my $queue = Hypothetical::Concurrency::Queue->new(max_jobs => 1);
$queue->dispatch(sub {
# code
});