Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
пытаюсь понять как работает планировщик задач в Laravel 5.4.
Для примера пытаюсь сделать что бы каждую минуту отправляло письмо на почту
опишу что и как я сделал, если кто подскажет в чем ошибка буду признательный
итак
через консоль создал App\Console\Commands\bitcoinTest
в нем
protected $signature = 'bitcoin:sendEmail';
public function handle()
{
//
// $provider = $this->argument('provider');
$to = 'еее@gmail.com';
$subject = 'test mail';
$message = mail($to,$subject, 'test message from laravel');
if($message){
$flag = true;
echo 'mail go';
}else {
$flag = false;
echo 'mail NOT go';
}
return $flag;
}
В файле App\Console\Kernel.php
protected $commands = [
//
'App\Console\Commands\bitcoinTest'
];
protected function schedule(Schedule $schedule)
{
$schedule->command('bitcoin:sendEmail')
->everyMinute();
}
через консоль запускаю php artisan bitcoin:sendEmail - письмо уходит (локально)
ДАЛЬШЕ ДЕЛАЮ НАУГАД ТАК КАК НЕ ЗНАЮ КАК ПРАВИЛЬНО
дальше что бы запустить планировщик в консоли php artisan schedule:run - письмо приходит но только одни раз сразу через минуту ничего не происходит
в чем может быть моя ошибка?
Не в сети
Нужно добавить команду schedule:run в cron, читай здесь.
Не в сети
я так понял что cron это для unix систем, а мне на винде нужно
Пытаюсь в консоли выполнить php artisan schedule:run вижу вывод
Running scheduled command: "d:\openserver\modules\php\PHP-7.0\php.exe" "artisan" bitcoin:sendEmail > "NUL" 2>&1
выполняется один раз отправка письма и все, каждую минуту не срабатывает...
чего то я не понимаю, можно подробней?
в документации ничего об этом нет (
```
Starting The Scheduler
Here is the only Cron entry you need to add to your server:
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
This Cron will call the Laravel command scheduler every minute. Then, Laravel evaluates your scheduled tasks and runs the tasks that are due.
```
Изменено Leo (09.11.2017 14:43:10)
Не в сети
В Windows вместо cron используй Планировщик Задач. Тебе нужно сделать так, чтобы команда schedule:run запускалась каждую минуту.
Не в сети
В Windows вместо cron используй Планировщик Задач. Тебе нужно сделать так, чтобы команда schedule:run запускалась каждую минуту.
ну так в этом и состоит мой вопрос на этом форуме.
как это сделать?
Изменено Leo (09.11.2017 15:05:34)
Не в сети
как это сделать?
Этого достаточно? https://stackoverflow.com/questions/363 … th-laravel
Не в сети
ну так в этом и состоит мой вопрос на этом форуме. как это сделать?
Ни слова о Windows в оригинальном вопросе не было. Глянь здесь.
Не в сети
Одновременно ответили с одной и той же ссылкой. Ответ на SO мой, писал его давно, сейчас может что-то немного по-другому делается.
Изменено AlexeyMezenin (09.11.2017 16:53:42)
Не в сети
Одновременно ответили. Ответ на SO мой, писал его давно, сейчас может что-то немного по-другому делается.
оффтоп - круто
Не в сети
Страницы 1