Cron for Opencart 2.x
Реализация крона в Opencart 2.x для запуска контроллеров в папке admin.
Задания прописываются в файле admin/cron_tasks.php следующим образом
$cron->call(
"module/ocstore_badges/cron",
array (
"minute" => "*",
"hour" => "*",
"day" => "*",
"dayofweek" => "*",
"dayofmonth" => "*"
),
array(
"param1" => "value1",
"param2" => "value2",
...
"paramN" => "valueN"
)
);
Первый параметр - контроллер и вызываемый метод, в примере вызывается метод cron() в файле admin/controller/module/ocstore_badges.php Второй параметр - массив параметров, определяющих время запуска. Может принимать значения [\d\-*,/]. Значения времени отделяются друг от друга запятыми, например "1,2,5". Диапазоны чисел можно задать через тире, например, "1-5", что эквивалентно "1,2,3,4,5". Чтобы запускать скрипт каждые несколько минут, то необходимо задать значение "*/10", что будет эквивалентно значениям 0, 10, 20 и т.д. Чтобы задать любое значение используйте "*". Третий параметр - массив передаваемых в метод параметров (не обязательный элемент).
Для корректной работы данного скрипта Вам необходимо в планировщике задач (cron, crontab) панели хостинга добавить следующую задачу:
Скрипт (Command): /путь_до_папки_с_Вашим_сайтом/admin/cron.php
Минута (Minute): *
Час (Hour): *
День (Day of month): *
Месяц (Month of year): *
День недели (Day of week): *
Примеры:
- Запуск скрипта каждые 5 минут с 0 до 10 часов, в воскресенье.
array (
"minute" => "*/5",
"hour" => "0-10",
"day" => "*",
"dayofweek" => "7",
"dayofmonth" => "*"
)
- Запуск скрипта в полночь
array (
"minute" => "0",
"hour" => "0",
"day" => "*",
"dayofweek" => "*",
"dayofmonth" => "*"
)