Я пытаюсь установить напоминание через службу очереди laravel 5.1, задание выполняется и работает нормально, единственная проблема заключается в том, что он не задерживает работу, я не уверен, что i «Я делаю это правильно, может кто-нибудь сказать мне, что я делаю неправильно? мой SetReminder класс работа выглядит как тоlaravel 5.1 Задержка задания очереди не работает
namespace LM2\Jobs;
use LM2\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Bus\SelfHandling;
use Illuminate\Contracts\Queue\ShouldQueue;
use LM2\Models\Lead;
use LM2\Models\User;
class SetReminder extends Job implements SelfHandling, ShouldQueue
{
use InteractsWithQueue, SerializesModels;
public $user;
public $lead;
public function __construct(User $user, Lead $lead)
{
$this->user = $user;
$this->lead = $lead;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$user = new User(['client_id' => 1, 'name'=>'asdasd', 'password' => '123' , 'email' => microtime().'@gmail.com']);
$user->save();
}
}
и функция управления вызовом этой работы является:
public function setReminder($lead_id, Request $request)
{
$due_time = $request->input('due_time');
$message = $request->input('message');
$user = \Auth::user();
$lead = Lead::where('_id',$lead_id)->first();
$lead->reminders = ['message' => $message , 'due_time' => $due_time, 'user_id' => $user->id, 'active' => 1];
$lead->save();
$job = (new SetReminder(
\Auth::user(),
Lead::find($lead_id)
))->delay(10);
$this->dispatch($job);
return $lead;
}
перед вызовом функции я побежал php artisan queue:listen
на терминале. спасибо большое всем :)
Новый пользователь, вставленный в функцию ручки, предназначен для тестирования.
У кого-нибудь есть идея? :/ – benjah
Для меня это говорит, задержка - это не метод. – rajangupta