2009-12-18 53 views
5

我有一個apache2/mod_perl網站。在一個頁面上,我需要通過SOAP進行一些服務器/服務器通信。如何推遲apache/mod_perl頁面呈現期間的處理?

該通信的結果對於頁面的呈現不是必需的(但需要用戶輸入來觸發該通信)。

SOAP通信非常緩慢。

所以我想要做的是爲用戶處理和打印頁面,然後在幕後做所有的SOAP東西。

達到此目的的最佳方法是什麼?開始一些分叉?將作業寫入一個文件並讓cronjob把它撿起來?

感謝

回答

7

有兩種類型的解決方案:首先,你可以做什麼蘭德爾·施瓦茨建議here。其次,您可以使用Message Queue,如BeanstalkGearman。 Beanstalk有一個Perl客戶端,現在是持久的,並且是輕量級的東西的理想選擇。另一方面,Gearman有更多的功能,更多的工作。還有TheSchwartz - 如果你沒有太多的文檔就可以使用它。 cron是系統重複任務的理想選擇。對於你有什麼樣的應用,看來,如果你喜歡一個更通用的「消息隊列」

還看到一個老的StackOverflow線程Schedule::At可能更合適here