2013-08-14 6 views
12

Bazen ben supervisord görevlendirilmesi konusunda tam bir istemiyoruz üretim ortamlarına CLI tipi node.js uygulamaların hızlı ve kirli yerleştirilme için forever.js kullanın. PHP için bir eşdeğer olup olmadığınıPHP'nin komut dosyamı sürekli olarak çalıştırması için bir forever.js eşdeğeri var mı?

merak ediyorum? Şu anda SQS gelen 's iletileri almak ve şu o anda (o bu özel kullanım durumunda kötü satır kilitleme konularda her türlü sebep olarak zaman uyumsuz yapılamaz.) bir veritabanına eşzamanlı bunları işleyen bir kuyruk işleme sistemine sahip cron kullanarak her an çalışır, ancak genellikle erken bitirir ve tekrar çalışmaya başlamasını istiyorum. Bir seferde birden fazla işlem yapamıyorum.

Herhangi * Nix komutu/yazılım/bash tipi fikirler bekliyoruz. Sadece bu aracı supervisord keşfettim

$ cat test.php 
<?php 
sleep(3); 
print("foobar\n"); 
exit; 
?> 
$ forever -c php test.php 
foobar 
error: Forever detected script was killed by signal: null 
error: Forever restarting script for 1 time 
foobar 
error: Forever detected script was killed by signal: null 
error: Forever restarting script for 2 time 
... 
+6

PHP betiğini başlatmak için neden forever.js'yi kullanmıyorsunuz? – quentinadam

+0

doh! Bunun hakkında düşünmedim, bunu bir adım attı. –

cevap

26

Sadece php script ile forever kullanmak (php kullanmak sonsuza talimat -c argüman kullanın). Dakikada çalışmasını sağlamak için bu ratchet tutorial kullandım!

Doğru sonsuza komut sunucuyu yeniden başlattığınızda yeniden yoktur Hatırlarsanız?

+0

Dostum, bunu yapabileceğini hiç bilmiyordum. Bu benim sorunumu giderir. Teşekkürler! –

+2

kutsal crap gerçekten ?? bu harika! – RedactedProfile

+0

Bu çok çılgın! Projeye bağışta bulunacağım yer neresi ?! –

2

ve harika işler:

+0

Şu an yaklaşık 8 ay boyunca süpervizör kullanıyoruz ve bu harika, biz aslında 'foreverd' ile birlikte kullanıyoruz. Ancak, neredeyse tüm ürünlerimiz docker'a doğru hareket ettiğinden, aslında kendimizi liman işleyicileri gibi yerleşik araçlar kullanarak bulduk. Örneğin: -d --restart = her zaman –

İlgili konular