У меня есть приложение Dancer на Perl, которое обрабатывает запросы на получение/публикацию.
Один из моих примеров маршрутов приведен ниже:
post '/handle_data' => sub {
# perform some calculations
...
# store some data
...
# do some long running tasks
...
};
Мой вопрос: есть ли простой способ выполнять длительные задачи в другом процессе, не блокируя запрос?
Я пробовал fork and return
в родительском процессе с exit
после длительных задач для дочернего элемента, но все это, похоже, блокирует отправку ответа до тех пор, пока дочерний процесс не завершится.
Любая помощь приветствуется.
ИЗМЕНИТЬ:
В итоге я перешел на полноценный сервер заданий, а именно на Perl-версию Gearman.