Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 09.11.2017 01:16:08

планировщик задач

пытаюсь понять как работает планировщик задач в 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 - письмо уходит (локально)
ДАЛЬШЕ ДЕЛАЮ НАУГАД ТАК КАК НЕ ЗНАЮ КАК ПРАВИЛЬНО smile
дальше что бы запустить планировщик в консоли php artisan schedule:run - письмо приходит но только одни раз сразу через минуту ничего не происходит

в чем может быть моя ошибка?

Не в сети

#2 09.11.2017 05:46:13

Re: планировщик задач

Нужно добавить команду schedule:run в cron, читай здесь.

Не в сети

#3 09.11.2017 14:41:56

Re: планировщик задач

я так понял что 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)

Не в сети

#4 09.11.2017 14:46:45

Re: планировщик задач

В Windows вместо cron используй Планировщик Задач. Тебе нужно сделать так, чтобы команда schedule:run запускалась каждую минуту.

Не в сети

#5 09.11.2017 15:05:03

Re: планировщик задач

В Windows вместо cron используй Планировщик Задач. Тебе нужно сделать так, чтобы команда schedule:run запускалась каждую минуту.

ну так в этом и состоит мой вопрос на этом форуме. smile
как это сделать?

Изменено Leo (09.11.2017 15:05:34)

Не в сети

#6 09.11.2017 16:50:06

Re: планировщик задач

как это сделать?

Этого достаточно? https://stackoverflow.com/questions/363 … th-laravel

Не в сети

#7 09.11.2017 16:50:22

Re: планировщик задач

ну так в этом и состоит мой вопрос на этом форуме.  как это сделать?

Ни слова о Windows в оригинальном вопросе не было. Глянь здесь.

Не в сети

#8 09.11.2017 16:52:51

Re: планировщик задач

Одновременно ответили с одной и той же ссылкой. big_smile Ответ на SO мой, писал его давно, сейчас может что-то немного по-другому делается.

Изменено AlexeyMezenin (09.11.2017 16:53:42)

Не в сети

#9 09.11.2017 16:58:08

Re: планировщик задач

Одновременно ответили.  Ответ на SO мой, писал его давно, сейчас может что-то немного по-другому делается.

оффтоп - круто

Не в сети

Подвал раздела