JavierJavier
Javier
Comparte:

Notificar al usuario al acabar un evento

Hola, 
tengo una cuestión sobre Livewire y no se muy bien como podría realizarse. 
Actualmente hago lo siguiente:
 
Al enviarse un formulario, si no hay fallos de validación, se hace un dispatch de una tarea (Job) que cuando acaba notifica que ha finalizado al usuario que realizó la petición y Livewire solo muestra una mensaje de sesión indicando que la tarea se está llevando a cabo y hasta ahí bien, 
Lo que quiero conseguir: 
Quiero evitar tener que enviar una notificación al usuario, y hacer que Livewire reaccione y avise cuando acabe la tarea  (Job) al usuario que la solicitó.
Esto es lo que hay en el componente Livewire.
/**
 * @throws AuthorizationException
 */
public function storeInvoice(string $typeInvoice)
{
    $this->authorize('create', Thing::class);
    $validation = Validator::make($this->data, [
        ....
    ]);
    $validatedData = $validation->validate();
    if (!$validation->fails()) {
        GenerateThing::dispatch(auth()->user(), $validatedData);
        $this->reset('data');
        session()->flash('status', __('The task is in process.'));
    }
}

Y esto es lo que hay en el handle del Job.
/**
 * Execute the job.
 *
 * @return void
 */
 public function handle(): void
{
    $this->startProcess();
    $this->user->notify(new ThingProcessCompleted([
        'title' => __('Process concluded'),
        'message' => __('The creation of the thing has been processed..'),
        'link' => ''
    ]));
} 

Entonces mi duda es, ¿de que forma se podría hacer para que Livewire detecte que el Job ha finalizado y que reaccione mostrando una notificación visual al usuario para que sepa que acabó?
Gracias de antemano por la ayuda que me prestéis.