2009-12-18 14 views
5

Bir apache2/mod_perl web sitem var. Bir sayfada, SOAP üzerinden bazı sunucu/sunucu iletişimi yapmam gerekiyor.Apache/mod_perl sayfa oluşturması sırasında işlemeyi nasıl erteleyebilirim?

Bu iletişimin sonuçları sayfanın oluşturulması için gerekli değildir (ancak bu iletişimi tetiklemek için kullanıcı girişi gereklidir).

SOAP iletişimi çok yavaş.

Yani yapmak istediğim, kullanıcı için sayfayı işlemek ve yazdırmak, sonra da sahnelerin arkasındaki tüm SOAP nesnelerini yapmaktır.

Bunu başarmanın en iyi yolu nedir? biraz çatal mı? İşi bir dosyaya yaz ve bir cronjob al onu?

Teşekkür

cevap

7

çözümlerin iki tipi vardır: Öncelikle Randal Schwartz here önerdi yapabiliriz. İkinci olarak, Message Queue'yi Beanstalk veya Gearman gibi kullanabilirsiniz. Beanstalk bir Perl İstemcisi'ne sahiptir ve şimdi kalıcıdır ve hafif şeyler için idealdir. Diğer yandan Gearman'ın daha fazla özelliği var. Ayrıca TheSchwartz da var - çok fazla dokümantasyon yapmadan kullanabilirsiniz. cron, sistematik olarak tekrarlanan görevler için idealdir. Sahip olduğunuz uygulamanın tür için, size daha genel "mesajı-kuyruğu"

Ayrıca eski bir StackOverflow Konu bkz isterseniz Schedule::At daha uygun olabilir anlaşılmaktadır here