Вы можете использовать планировщик заданий для Windows
- Создайте файл
.bat
, который должен содержать команду для запуска консольного приложения Yii controller/action
, если вы создаете класс контроллера TestController
, который расширяет yii\console\controller
и добавляет действие create
, чтобы запустить это действие из В консольном приложении Yii вы должны набрать ./yii test/create
в корневом каталоге проекта, используя gitBash или console, поэтому мы добавим эту команду в файл .bat
, указав полный путь к project_root/yii
, который является файлом начальной загрузки консоли Yii. Это главное, чтобы запустить задание как часть кода действия контроллера Yii.
открыть блокнот и скопировать в него код, сохраненный как .bat
с именем my-cronjob.bat
@Echo off
title My Cron Job
:: See title at the top
php F:\xampp\htdocs\my-project\yii test/create
pause
ПРИМЕЧАНИЕ: убедитесь, что у вас есть php
в Windows Path Variable
или вы должны указать полный путь к php.exe
в указанном выше .bat
файле
Шаги по созданию планировщика задач
- Напишите название для задачи
- Выбрать время запуска
Daily
- Выберите время для выполнения задачи
- Выбрать
Action
Запустить программу
- Теперь выберите файл
my-cronjob.bat
и нажмите Далее и Готово
- Теперь перейдите в диспетчер задач и выберите
Task Scheduler Library
и щелкните правой кнопкой мыши на только что созданном cronjob и откройте свойства.
- Выбрать
Run with highest privileges
ПРИМЕЧАНИЕ: вы можете выбрать запуск cronjob, если пользователь вошел в систему или нет, по умолчанию он запускается, только если пользователь вошел в систему, вы можете изменить эту опцию.
То есть теперь вы можете либо запустить задачу вручную, щелкнув правой кнопкой мыши и выбрав команду run, и она запустит требуемый controller/action
, указанный в my-cronjob.bat
, либо дождаться его запуска в указанное время.
Для работы в фоновом режиме
Приведенные выше настройки откроют командную строку и запустят задачу, если вы хотите, чтобы планировщик выполнил задачу минимизировано, вы должны увидеть это link
и соответствующим образом обновить параметры задачи , Также вы можете изменить последнюю строку pause
на Exit
тоже.
Я проверил его, прежде чем публиковать ответ здесь, поскольку у меня есть Windows10
ОС у меня дома, поэтому я не смог опубликовать ответ без тестирования из офиса.