Re: Catalyst: увеличиваем скорость реакции

Sergeev Serge simne at yandex.ru
Sun Sep 12 08:44:18 PDT 2010


Привет!

Вообще в Перл 5 к сожалению (в отличие от ПХП) есть только один метод разблокировать клиента и продолжить фоновое выполнение - это форк (запускается копия текущего процесса, а затем эта копия отсоединяется от текущего процесса, а сам текущий процесс завершается и отпускает клиента).
При этом очевидно, что форк catalyst это ужжасно долго, следовательно нужно форк делать совсем отдельным сверхлегким внешним процессом или еще как-то изощряться (например, можно запустить под system шелл-скрит, который будет запускать под nohup демона для выполнения задачи и тут-же завершаться).
Более подробно я написал на форуме.

Сделать запрос для вызова фоновой задачи через ajax тоже вариант, но у него слабое место, что либо нужно делать большой таймаут, либо при медленной сетке фоновая задача будет вызываться не всегда, так что в любом случае надежнее привешивать отдельный форкающий обработчик.

12.09.10, 15:49, "Serg Gulko" <s.gulko at kiev.pm.org>:
> 
> Хочу сократить время отклика в приложении на основе catalyst. Стандартная ситуация - регистрация аккаунта. В моем случае клиенту можно говорить 'Все ОК' уже после создания записи в базе данных, но он еще ждет, пока закончатся все дополнительные обработчики(уйдут уведомления по почте, закончится синхронизация и т.д.). Посему возник вопрос - а существует ли метод, позволяющий поставить часть заданий в очередь на выполнение и не блокировать клиента?
> 
> http://kiev.pm.org/?q=node/435



More information about the Kiev-pm mailing list