/opencart-cron

Cron for Opencart 2.x

Primary LanguagePHPOtherNOASSERTION

opencart-cron

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): *

Примеры:

  1. Запуск скрипта каждые 5 минут с 0 до 10 часов, в воскресенье.
    array (
        "minute" => "*/5", 
        "hour" => "0-10", 
        "day" => "*", 
        "dayofweek" => "7", 
        "dayofmonth" => "*"
    )
  1. Запуск скрипта в полночь
    array (
        "minute" => "0", 
        "hour" => "0", 
        "day" => "*", 
        "dayofweek" => "*", 
        "dayofmonth" => "*"
    )