<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Mail;
use App\Mail\NewFeaturesAnnouncement;
use App\Models\User;
use Illuminate\Support\Facades\Log;

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


    /**
     * Crear una nueva instancia del trabajo.
     *
     * @return void
     */
    public function __construct()
    {
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
       
        Mail::to("especialidadesmysaludactiva78@gmail.com")
        ->cc([
            "josue181094@gmail.com",
            "rudimarcastro093@gmail.com"
        ])
        ->send(new NewFeaturesAnnouncement());
    }

    /**
     * Manejar un fallo en el trabajo.
     *
     * @param  \Throwable  $exception
     * @return void
     */
    public function failed(\Throwable $exception)
    {
        Log::error('Error al enviar anuncio de nuevas características: ' . $exception->getMessage());
    }
}
