Я использую $r->pool->cleanup_register(\&cleanup);
для запуска подпрограммы после того, как страница была обработана и распечатана клиентом. Я надеюсь, что клиент увидит полную страницу, и Apache может продолжать выполнять некоторую обработку в фоновом режиме, которая занимает несколько секунд.Почему браузер зависает, когда я регистрирую обработчик очистки в mod_perl?
Но клиентский браузер зависает до тех пор, пока не будет восстановлена подгрузка. Есть ли способ получить apache для завершения соединения с клиентом до все мои коды вернулись?
Я убежден, что сделал это раньше, но я не могу найти его снова.
++ Согласен, если это вообще возможно сделать за пределами веб-сервера. Если возникли проблемы (ожидание блокировок и т. Д.), Это может привести к тому, что экземпляр apache будет недоступен для обслуживания запросов и использует всю память Apache для выполнения (возможно, простого) задания. Я видел, что это вызвало большие проблемы в прошлом ... Если вы не можете настроить задание cron или подобное в своей среде хостинга, посмотрите, можете ли вы fork/exec выполнить отдельный процесс для обработки этой задачи. – FalseVinylShrub