Как я могу задержать обработку во время апача / mod_perl рендеринг страницы?

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

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

Коммуникация SOAP является очень медленной.

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

Что лучший способ состоит в том, чтобы достигнуть этого? запустить некоторое ветвление? запишите задание в файл и имейте cronjob, берут его?

Спасибо

5
задан brian d foy 23 December 2009 в 02:31
поделиться

1 ответ

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

Также см. Старый поток StackOverflow здесь

7
ответ дан 14 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: