2013-12-17 30 views
14

php-resque ile bir arka plan işi yapmaya çalışıyorum. Bu kodu vardır:php-resque iş gerçekleştirme işlevi yürütülmedi?

\Resque::setBackend('127.0.0.1:6379'); 
\Resque::enqueue('default', '\BaseModule\Jobs\Mail', array()); 

ve Posta sınıfta ben bu

class Mail 
{ 

    public function perform() 
    { 
      lakdf; 
    } 
} 

üzerinde hata var "lakdf;" burada amaç var.

Ben bunu yazmak benim REDIS üzerinde monitörü açmak ve işi yürütmek deneyin:

So
1387283121.312817 [0 127.0.0.1:32827] "set" "resque:worker:michal-pc:9622:default" "{\"queue\":\"default\",\"run_at\":\"Tue Dec 17 12:25:21 UTC 2013\",\"payload\":{\"class\":\"\\\\BaseModule\\\\Jobs\\\\Mail\",\"args\":[[]],\"id\":\"c7c64e218bc951018c2a264eaf5a4b9a\"}}" 
1387283121.313312 [0 127.0.0.1:32827] "incrby" "resque:stat:processed" "1" 

"reque: Stat: İşlenmiş" Ben işimi işlendiğini, düşünüyorum, ama orada işlevini yerine getirirken bir hata yapma ve herhangi bir hata yazmadığı gibi, gerçekleştirme işlevi hiçbir zaman yürütülmez.

İşlev gerçekleştirirken veritabanına ekleme yapsam bile hiçbir şey yapmaz.

Herkes biliyor mu, sorun nerede? Neden işlevi yerine getirilmiyor gibi görünüyor?

+0

Hangi versiyonda PHPResque kullanıyorsunuz? – mloureiro

+0

PHP işlevinizin bunu desteklemediğini veya modülün eksik olduğunu iyi biliyorum. Bize versiyonunu ver lütfen. –

cevap

1

PHP

lakdf; 

olduğunu varsayacağız: Yani

$lakdf; 

Eğer gerçekten bir hata o zaman o çizgiyi değiştirerek birini zorlayabilir atılmak istiyorsanız:

error_log("I am throwing an error from within the Mail::perform function"); 
-1

Sadece tek bir komuta yardımcı olacak umuyoruz:

$command = 'php ' . 'background_process_autoresponder.php'; 
$a = shell_exec(sprintf('%s > /dev/null 2>&1 &', $command)); 
+0

Bu, sorunun cevabını sağlamaz. Yeterli [itibara] sahip olduğunuz zaman (http://stackoverflow.com/help/whats-reputation) herhangi bir gönderiye yorum yapabilirsiniz (http://stackoverflow.com/help/privileges/comment); bunun yerine, [askerden açıklama istemeyen cevaplar verin] (http://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do-yerine). - [Yorum Yaz] (/ review/düşük-quality-posts/16031606) – Toby

+0

Ben sadece yığın akışı üzerinde kayıt var, ama benim iş exp 6 yıldan fazla umarım yakında benim itibarını artırmak, Yorumunuz için teşekkürler –

İlgili konular