Queue :: push error - laravel - PullRequest
0 голосов
/ 02 июня 2018

У меня есть этот код в моем web.php в моем проекте laravel:

 Route::get('/', function () {
    Queue::push(function(){
        Log::info('12');
        return 'done';
    });
});

Но когда я отправляю запрос на http://localhost:8000/ , у меня появляется ошибка :

Closure object cannot have properties

Я пытался так, но у меня та же ошибка:

 Route::get('/', function () {
    Queue::push(function($job){
        Log::info('12');
        return 'done';
        $job->delete();
    });
});

Версии Laravel: 5.6

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Вероятно, вам не разрешено проходить замыкание внутри Queue::push.

Вам необходимо передать класс Job следующим образом:

Queue::push(MyNewJob::class, $data);

И MyNewJob должно выглядеть следующим образом:

class MyNewJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public function handle()
    {
       Log::info('12');
    }
}
0 голосов
/ 02 июня 2018

Я думаю, что в любом случае в вашем коде есть опечатка, убедитесь, что проблема не в этом:

Route::get('/', function () {
Queue::push(function($job){
    Log::info('12');
    return 'done';
    $job->delete();
});
 });

Замените $hob на $job.

...