はBroadCastEventがLaravelでキューに登録されているのはなぜですか?それをやめる方法は?私はリアルタイムで緯度と経度をブロードキャストする必要があるプロジェクトに取り組んでいます
私はリアルタイムの電子メールをトリガする必要があるいくつかのケースで
namespace App\Events;
use App\Events\Event;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use Illuminate\Support\Facades\Redis;
class TrackersBroadcast extends Event implements ShouldBroadcast
{
public $lat, $lng,$imei,$date_time
use SerializesModels;
/**
* Create a new event instance.
*
* @return void
*/
public function __construct(
$lat,
$lng,
$imei,
$date_time
)
{
$this->lat = $lat;
$this->lng = $lng;
$this->imei = $imei;
$this->date_time = $date_time;
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn()
{
return ['tracker-channel'];
}
}
下のようなものを持っているので、私はlaravelを実施することを決定しました
namespace App\Jobs;
use App\Jobs\Job;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Mail;
class SendAlertEmail extends Job implements ShouldQueue
{
use InteractsWithQueue, SerializesModels;
public $data;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct($data)
{
$this->data=$data;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//
Mail::send('emails.test', ['testVar' => $this->data], function($message) {
$message->from('[email protected]', 'Website Name');
$message->to('[email protected]')->subject('A simple test');
});
}
}
以下のようなメッセージキュー私はそれがあまりにも私の放送イベントをキューに入れますphp artisan queue:listen database
を実行するたびに。私は放送イベントを待ち行列に入れたくありません。どうやってするか?
イベントブロードキャストにはどのドライバを使用していますか?レディスかプッシャー? – vijaykumar
私はredisを使用しています – sumit
これは、以下の答えで述べたように、複数のキュープロセスを使用してこれを達成できます。 – Gayan