Как я могу отложить обработку во время рендеринга страницы apache / mod_perl? - PullRequest
5 голосов
/ 18 декабря 2009

У меня есть веб-сайт apache2 / mod_perl. На одной странице мне нужно установить связь между сервером и сервером через SOAP.

Результаты этого сообщения не требуются для визуализации страницы (но для запуска этого сообщения требуется ввод данных пользователем).

Связь SOAP очень медленная.

Итак, я хочу обработать и распечатать страницу для пользователя, а затем выполнить всю работу SOAP за кулисами.

Какой лучший способ добиться этого? начать какой-то форк? записать задание в файл и попросить его сделать cronjob?

Спасибо

1 Ответ

7 голосов
/ 18 декабря 2009

Существует два типа решений: во-первых, вы можете сделать то, что предложил Рэндал Шварц здесь . Во-вторых, вы можете использовать очередь сообщений, например Beanstalk или Gearman . У Beanstalk есть клиент Perl, и теперь он постоянный и идеально подходит для легких вещей. Gearman, с другой стороны, имеет больше функций, больше работает над. Существует также TheSchwartz - используйте его, если можете обойтись без лишней документации. cron идеально подходит для систематически повторяющихся задач. Для типа приложения, которое вы используете, кажется, что Schedule :: At может быть более подходящим, если вы предпочитаете более общую «очередь сообщений»

Также смотрите старую тему StackOverflow здесь

...