2009-06-03 13 views
5

Kullanıcıların bir kerelik uzun süren görevleri bir web uygulamasından (Linux/Apache/CGI :: Application) programlamasına olanak tanımak için bir uygulama yazıyorum. Bunu yapmak için "at" komutuna Perl arayüzü olan Schedule::At modülünü kullanıyorum. Zamanlanan görevler tekrarlanmadığı için "cron" düşünmüyorum. Ben "at" ile iki konuyu olsa: Apache sürecinin sahibi tarafından planlanan zaman benim CGI uygulaması suexec ambalajının altında çalışır, ancak ne zamanBir kerelik görevleri Perl CGI uygulamasından nasıl zamanlarım?

  1. Zamanlama gayet iyi çalışıyor. Her iki ortamda (suexec ve no-suexec) çalışmak için zamanlama nasıl yapabilirim?
  2. "At" veya Schedule :: At tarafından planlanan süreçlerin hata bildirimi olmadığını ve bazen zamanlanmış görevlerin sessizce başarısız olduğunu görüyoruz. Zamanlanmış görevin (zamanlayıcının kendisi değil) çalışması başarısız olduğu gerçeğini günlüğe kaydetmenin bir yolu var mı?

"At" üzerinde sabitlenmedim ve varsa, diğer daha sağlam, programlama yöntemlerini kullanmaya açılıyorum.

İlginiz için teşekkür ederiz.

cevap

5

The Schwartz ile ilgili güzel şeyler duydum. Gerçi bir gecikme yok; işleri şu adresten gönderirsiniz, ancak bu, submit_job komut dosyanız basit olduğu sürece yukarıda listelediğiniz sorunların her ikisini de çözmelidir.

(bir ihtar olarak, sadece Gearman kullandım, sana aptal senin submit_job devam edebilmeleri için, mekanizmayı bunun için güvenilir bir iş kuyruğu, bir istiyorum "yangın ve unut" diye düşünüyorum.)

+0

Teşekkür Gearman bahşiş için. İlk bakışta, tam olarak ihtiyacım olan bu gibi görünüyor. –

+0

Gearman ve Schwartz'a sert baktıktan sonra, Beanstalk'ı problemim için en uygun çözüm olarak buldum. Bahşiş için teşekkürler. –

İlgili konular