Merhaba, Laravel 4.1 üzerinde mail gönderim işlemlerini kuyruk ile yapmak istiyorum.
İlk olarak sync (local) olarak denedim, herhangi bir yapılandırma bulamadım. Mail::send yerine Mail::queue kullanarak göndermeyi denedim ancak olmuyor. Mailler yine send metodundaki gibi kullanıcıyı bekletiyor. Mail şablonu içine eloquent nesnesi gönderirsem non-object hatası veriyor. Dizi olarak veri geçersem direk gönderiliyor.
beanstalkd kurup yapılandırmayı bu şekilde değiştirdim. Mail::queue veya Queue::push içinde Mail::send olarak denediğimde kullanıcı bekletilmiyor, işlem kuyruğa atılıyor. Buraya kadar istediğim gibi çalıştı. Ancak kuyruğu çalıştırdığımda normalde çalışan mail gönderme işlemi çalışmıyor. php artisan queue:listen komutu ile kuyruğu başlatıyorum, log içine sürekli non-object hatası basıyor. Kuyruk kullanmadan yapınca değişkenin içi dolu oluyor, kuyrukta değişken boşalıyor. Mail içinde kullandığım nesneleri dizi olarak değiştiriyorum, kuyruksuz çalışıyor kuyrukta yine non-object veriyor. Sorunun nereden kaynaklandığını anlayamadım. Log içine basılan mesajı da aşağıya ekliyorum.
[2014-08-18 16:10:31] production.ERROR: exception 'ErrorException' with message 'Trying to get property of non-object' in /usr/share/nginx/html/artkhora.dev/app/storage/views/78f9a66cfc33e3c8fe32e38a14b9a9a1:7
Stack trace:
#0 /usr/share/nginx/html/artkhora.dev/app/storage/views/78f9a66cfc33e3c8fe32e38a14b9a9a1(7): Illuminate\Exception\Handler->handleError(8, 'Trying to get p...', '/usr/share/ngin...', 7, Array)
#1 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(37): include('/usr/share/ngin...')
#2 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(56): Illuminate\View\Engines\PhpEngine->evaluatePath('/usr/share/ngin...', Array)
#3 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/View/View.php(134): Illuminate\View\Engines\CompilerEngine->get('/usr/share/ngin...', Array)
#4 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/View/View.php(102): Illuminate\View\View->getContents()
#5 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/View/View.php(76): Illuminate\View\View->renderContents()
#6 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(382): Illuminate\View\View->render()
#7 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(255): Illuminate\Mail\Mailer->getView('emails.kayit', Array)
#8 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(130): Illuminate\Mail\Mailer->addContent(Object(Illuminate\Mail\Message), 'emails.kayit', NULL, Array)
#9 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(221): Illuminate\Mail\Mailer->send('emails.kayit', Array, Object(Closure))
#10 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(96): Illuminate\Mail\Mailer->handleQueuedMessage(Object(Illuminate\Queue\Jobs\BeanstalkdJob), Array)
#11 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Queue/Jobs/BeanstalkdJob.php(50): Illuminate\Queue\Jobs\Job->resolveAndFire(Array)
#12 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(119): Illuminate\Queue\Jobs\BeanstalkdJob->fire()
#13 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(71): Illuminate\Queue\Worker->process('beanstalkd', Object(Illuminate\Queue\Jobs\BeanstalkdJob), '0', '0')
#14 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(64): Illuminate\Queue\Worker->pop(NULL, 'default', '0', '128', '3', '0')
#15 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Console/Command.php(108): Illuminate\Queue\Console\WorkCommand->fire()
#16 /usr/share/nginx/html/artkhora.dev/vendor/symfony/console/Symfony/Component/Console/Command/Command.php(241): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Console/Command.php(96): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /usr/share/nginx/html/artkhora.dev/vendor/symfony/console/Symfony/Component/Console/Application.php(885): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 /usr/share/nginx/html/artkhora.dev/vendor/symfony/console/Symfony/Component/Console/Application.php(191): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#20 /usr/share/nginx/html/artkhora.dev/vendor/symfony/console/Symfony/Component/Console/Application.php(121): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#21 /usr/share/nginx/html/artkhora.dev/artisan(59): Symfony\Component\Console\Application->run()
#22 {main}
Next exception 'ErrorException' with message 'Trying to get property of non-object (View: /usr/share/nginx/html/artkhora.dev/app/views/emails/kayit.blade.php)' in /usr/share/nginx/html/artkhora.dev/app/storage/views/78f9a66cfc33e3c8fe32e38a14b9a9a1:7
Stack trace:
#0 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(41): Illuminate\View\Engines\CompilerEngine->handleViewException(Object(ErrorException))
#1 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(56): Illuminate\View\Engines\PhpEngine->evaluatePath('/usr/share/ngin...', Array)
#2 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/View/View.php(134): Illuminate\View\Engines\CompilerEngine->get('/usr/share/ngin...', Array)
#3 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/View/View.php(102): Illuminate\View\View->getContents()
#4 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/View/View.php(76): Illuminate\View\View->renderContents()
#5 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(382): Illuminate\View\View->render()
#6 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(255): Illuminate\Mail\Mailer->getView('emails.kayit', Array)
#7 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(130): Illuminate\Mail\Mailer->addContent(Object(Illuminate\Mail\Message), 'emails.kayit', NULL, Array)
#8 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Mail/Mailer.php(221): Illuminate\Mail\Mailer->send('emails.kayit', Array, Object(Closure))
#9 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(96): Illuminate\Mail\Mailer->handleQueuedMessage(Object(Illuminate\Queue\Jobs\BeanstalkdJob), Array)
#10 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Queue/Jobs/BeanstalkdJob.php(50): Illuminate\Queue\Jobs\Job->resolveAndFire(Array)
#11 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(119): Illuminate\Queue\Jobs\BeanstalkdJob->fire()
#12 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(71): Illuminate\Queue\Worker->process('beanstalkd', Object(Illuminate\Queue\Jobs\BeanstalkdJob), '0', '0')
#13 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(64): Illuminate\Queue\Worker->pop(NULL, 'default', '0', '128', '3', '0')
#14 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Console/Command.php(108): Illuminate\Queue\Console\WorkCommand->fire()
#15 /usr/share/nginx/html/artkhora.dev/vendor/symfony/console/Symfony/Component/Console/Command/Command.php(241): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /usr/share/nginx/html/artkhora.dev/vendor/laravel/framework/src/Illuminate/Console/Command.php(96): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /usr/share/nginx/html/artkhora.dev/vendor/symfony/console/Symfony/Component/Console/Application.php(885): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /usr/share/nginx/html/artkhora.dev/vendor/symfony/console/Symfony/Component/Console/Application.php(191): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Queue\Console\WorkCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 /usr/share/nginx/html/artkhora.dev/vendor/symfony/console/Symfony/Component/Console/Application.php(121): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#20 /usr/share/nginx/html/artkhora.dev/artisan(59): Symfony\Component\Console\Application->run()
#21 {main}
kuyruk dinlemeyi kapatana kadar hata sürekli tekrar ediyor.
Yardımlarınızı bekliyorum. şimdiden teşekkürler..
Düzenleme: Eski kuyruk işlemleri silinmediği için aynı hataları veriyormuş.. beanstalkd resetledikten sonra test için hazırladığım mailde dizi ile gönderim başarılı oldu.
Nesnenin tanımsız olması problemi devam ediyor. Dizi olarak gönderince çalışması, nesne olduğunda çalışmaması neden kaynaklanıyor olabilir?