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