Выполнить процесс по расписанию
Часто возникают ситуации, когда определенный процесс нужно выполнять периодически. Например это может быть: копирование/клонирования записи, проверка задач с определенным статусом и т.д.
Для решение подобных задач в автоматизации предусмотрена опция "Выполнить процесс по расписанию":
Для запуска такого процесса вам нужно установить задачу по расписанию (cron) на вашем сервере.
Обратите внимание: Периодичность выполнения задачи устанавливается в настройках крона.
В качестве команды крона используйте следующую конструкцию:
php -q [root_catalog]cron/process.php [process_id] [item_id]
[process_id]
- id процесса (отображается в списке процессов), обязательный параметр.
[item_id]
- id записи к которой будет применятся процесс. Опциональный параметр.
Если id записи не указано, то процесс будет применятся ко всем записям сущности, которые попадают под фильтры процесса. В таком случае установка фильтров для процесса является обязательным условием.
Пример 1:
php -q /home/yourlogin/public_html/pm/cron/process.php 6 20
Процес #6 будет применен для записи #20
Пример 2:
php -q /home/yourlogin/public_html/pm/cron/process.php 6
Процесс #6 будет применен ко все записям, которые попадают под установленные фильтры процесса.
wget
Если выполнение PHP команды не доступно на вашем сервере или она работает не стабильно, выполнить процесс можно с помощью команды wget (через http ссылку). В таком случае необходимо использовать следующую ссылку:
http://[path_to_your_app]/cron/process.php?process_id=6&item_id=20
Обратите внимание: перед запуском команды wget в папке /cron/ необходимо удалить файл .htaccess
PHP скрипт
Рассмотрим ситуацию, когда с помощью автоматизации нам необходимо выполнить PHP скрипт, который будет добавлять запись в несколько сущностей. В данном случае, в команде крона обязательно нужно указывать [item_id]
. Так образом, при запуске крона, PHP скрипт будет выполнятся только один раз. [item_id]
можно указать любой из существующих или создать специальную запись и использовать данные записи в PHP скрипте.