我正在使用带有SQS Fifo队列的Laravel 5.4。
我似乎无法使用我的SQS Fifo Queue。排队我的电子邮件工作。
任何有此经验的人都可以指出我如何使用我的SQS Fifo Queue进行laravel工作。
这是我的控制器代码,用于将作业添加到队列中:
(new ReferFriendEmail($referFriendObj))->onConnection('my_sqs_fifo');
这是我的工作代码:
class ReferFriendEmail implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
protected $referFriendObj = false;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($referFriendObj)
{
$this->referFriendObj = $referFriendObj;
}
/**
* Execute the job.
*
* @return void
*/
public function handle( )
{
$input = $this->referFriendObj->input;
Mail::send( 'emails.refer-a-friend',
[
'user' => $this->referFriendObj->from_user_info,
'first_name' => strtoupper( trim( $this->referFriendObj->from_user_info->first_name)),
'unique_link' => $this->referFriendObj->unique_link,
],
function ($m) use ( $input ) {
$m->from('ryan_hughes_smith@live.co.uk', 'Kuflink');
$m->to($input['to_email'], $input['to_email'] )->subject( "You've been referred to Kuflink by " . $input['first_name'] );
}
);
Email_user_referrer::where('email' , $input['to_email'])
->update(['flag_email_sent' => 1]);
}
}
似乎没什么可以去的。我用它作为驱动程序。
答案 0 :(得分:4)
根据评论,您创建作业,但您实际上发送。 dispatch
助手does this for you:
$job = (new ReferFriendEmail($referFriendObj))->onConnection('my_sqs_fifo');
dispatch($job);