mardi 30 juillet 2019

Changing default queue to other Broadcasting event

I'm trying to change default queue to another queue of broadcasting event but not work.

I'm tried following instruction from here. Add public $broadcastQueue = 'exports'; but its still running on default queue.

I'm using laravel 5.8. Here is my code.

My controller:

$paramRequest = $request->input();
dispatch(new ProcessExportExcel($paramRequest))->onQueue('exports');
return response()->json('job dispatched to default queue');

My job:

class ProcessExportExcel implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    protected $request;

    public $tries = 3;

    public function __construct($request)
    {
        $this->request = $request;
    }

    public function handle()
    {
        $condition = $this->request;
        // export excel process...
        event(new ExportNotificationEvent($responeData));
    }
}

My event:

class ExportNotificationEvent implements ShouldBroadcast
{
    use Dispatchable, InteractsWithSockets, SerializesModels;

    public $data;

    public $broadcastQueue = 'exports';

    public function broadcastQueue()
    {
        return 'exports';
    }

    public function __construct($data)
    {
        $this->data = $data;
    }

    public function broadcastOn()
    {
        return new Channel('excel-channel.' . $this->data['userId']);
    }

    public function broadcastAs()
    {
        return 'excel-event';
    }
}



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire