Я пытаюсь настроить планировщик для запуска команды, которая будет отправлять электронные письма каждый день в один и тот же час.
Когда я запускаю команду, все работает нормально и электронные письма отправляются, но я могу ' t заставить его работать с планировщиком.
Если я запускаю php artisan schedule:run
, я получаю это Running scheduled command: "C:\wamp64\bin\php\php7.2.18\php.exe" "artisan" envoiEmailRappel > "NUL" 2>&1
, но ничего не происходит.
Я уже искал в Интернете и пытался настроить с помощью windows планировщик задач, но кажется, что я не могу заставить его работать.
Внутри моего ядра. php для планировщика
protected $commands = [
'App\Console\Commands\envoiEmailRappel'
];
protected function schedule(Schedule $schedule)
{
$schedule->command('envoiEmailRappel')->everyMinute();
}
Затем я создал новую задачу с помощью диспетчера задач, Я добавил триггер, который запускается каждый день в нужное время, и создал такое действие Program / Script: C:\wamp64\bin\php\php7.2.18\php.exe
и аргументы: C:\wamp64\www\tfeERP\artisan schedule:run
Но когда я достигну установленного для триггера времени, или если я выполнить его вручную, ничего не происходит Я не уверен, почему?
Небольшая помощь была бы очень признательна,
Спасибо!
редактировать:
Мне удалось создать задачу, запускающую этот bat-файл. Я вижу, что он выполняется, но ничего не происходит (я не получаю электронные письма на mailtrap).
cd c:\wamp64\www\tfeERP
C:\wamp64\bin\php\php7.2.18\php.exe artisan scheduler:run>> NUL 2>&1
Код команды:
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'command:envoiEmailRappel';
private $rdv;
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
$this->rdv = new Rdv();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$rdvs = $this->rdv->todayRdv(Carbon::now()->format('d/m/Y'));
foreach ($rdvs as $rdv) {
$client = Client::findOrFail($rdv->animal->client->id);
$email = $client->email_client;
$animal = Animal::findOrFail($rdv->animal_id);
$date = Carbon::parse($rdv->date_debut_rdv)->format('h:i');
Mail::to($email)->send(new envoiEmailRappelMail($client, $animal, $date));
}
echo "emails sent";
}