Redis Laravel 5.2美元此->;调度没有';t调用句柄函数
Laravel 5.2Redis Laravel 5.2美元此->;调度没有';t调用句柄函数,redis,laravel-5.2,queue,Redis,Laravel 5.2,Queue,Laravel 5.2$this->dispatch 没有调用句柄函数 我使用以下控制器 namespace App\Http\Controllers; use App\User; use Illuminate\Http\Request; use App\Jobs\SendReminderEmail; use App\Http\Controllers\Controller; use Redis; class HomeController extends Controller { /**
$this->dispatch
没有调用句柄函数
我使用以下控制器
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use App\Jobs\SendReminderEmail;
use App\Http\Controllers\Controller;
use Redis;
class HomeController extends Controller
{
/**
* Send a reminder e-mail to a given user.
*
* @param Request $request
* @param int $id
* @return Response
*/
public function sendReminderEmail()
{
$this->dispatch(new SendReminderEmail());
}
}
作业文件是
namespace App\Jobs;
use Redis;
use Mail;
use App\User;
use App\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class SendReminderEmail extends Job implements ShouldQueue
{
use InteractsWithQueue, SerializesModels;
public function __construct()
{
}
public function handle()
{
$redis = Redis::connection();
$redis->set('org', 'Mycompany');
}
}
当我调用控制器函数并检查redis server中的org变量时,我得到了空值
如何调用作业函数?在.env文件中设置QUEUE\u DRIVER=sync。您是否正确设置了队列并运行了队列侦听器或工作程序?删除作业类上的“implements ShouldQueue”,然后尝试在不使用队列的情况下运行代码,看看是否得到所需的结果。现在可以使用了,谢谢:)。。但是,implements ShouldQueue
ShouldQueue
强制作业在队列中运行,而不是同步执行作业的问题是什么。如果尚未配置队列,则可能会导致作业出现问题。仅当您希望强制每个作业排队时才使用它。