Неопределенное свойство: Illuminate \ Queue \ Jobs \ BeanstalkdJob :: $ name

я использую beanstalkd с Laravel поставить в очередь некоторые задачи, но у меня возникают проблемы с отправкой данных в функцию, которая обрабатывает очередь, вот мой код

//Where I call the function

$object_st = new stdClass();
$object_st->Person_id = 2 ;

//If I do this: echo($object_st->Person_id); , I get 2

Queue::push('My_Queue_Class@My_Queue_Function', $object_st );

И функция, которая обрабатывает очередь, следующая

 public function My_Queue_Function( $Data )
{
$Person_id = $Data->Person_id; //This generate the error

//Other code
}

Ошибка говорит:

[ErrorException] Неопределенное свойство: Illuminate \ Queue \ Jobs \ BeanstalkdJob :: $ Person_id

1

Решение

Способ работы очередей в 4.2 отличается от 5; первый аргумент в функции, которая обрабатывает задачу очереди, фактически является экземпляром задания очереди, вторым аргументом будут ваши данные:

class SendEmail {

public function fire($job, $data)
{
//
}

}

В соответствии с примером из документация.

Ваш код должен был бы разрешить первый аргумент:

public function My_Queue_Function( $job, $Data )
{
$Person_id = $Data['Person_id'];

//Other code
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]