Для создания очереди создадим метода в файле /dev/cron.php
<?php
public function log($text){
FotonLog($text,'F');
echo $this->cli->green('Данные записаны в файл')."\r\n";
}
Затем вызовем в любом месте, где есть доступ к методам ядра метод
$this→core→cron(‘log’,[‘тестовый текст’],”s:2”);
Первый аргумент – это название метода, далее в массиве перечисляются аргументы, которые нужно передать этому методу, далее указываем частоту вызова.
У нас указано s:2 – это значит, что запись в лог будет производиться каждые 2 секунды, m:2 – каждые 2 минуты,H:5 – каждые 5 часов и т.д.
Далее один раз запускаем выполнение метода.
Если все прошло успешно в директории /system/cron/s/2 должен появится файл с сериализованными данными
Теперь запустим через командную строку следующую команду:
php foton cron
Мы должны будем увидеть через каждые 2 секунды сообщение о записи, а также увидим наши записи в главной файле логов /.logs/mylogs.!?
Если в вызов мы добавим в конце число и вызовем метод cron
$this→core→cron(‘log’,[‘тестовый текст’],”s:2”,3);
у нас запустится команда на выполнение только 3 раза, после чего она самостоятельно удалится.
Также мы можем удалить все обработчики, после того как они выполнятся например 5 раз, для этого вызовем команду из консоли:
php foton cron del 5
Нам нужно удалить старую очередь для чистоты эксперимента, поэтому запустим php foton cron del 1, далее очистим файл логов, вызовем
$this→core→cron(‘log’,[‘тестовый текст’],”s:2”,3);
и запустим php foton cron, после этого в файле логов должны появится 3 наших записи, а сама очередь будет удалена.