Задания Cron с помощью скриптов Expression Engine - PullRequest
2 голосов
/ 28 февраля 2011

Просто интересно, есть ли у кого-нибудь совет о том, как лучше всего настроить задания cron для сценариев, запускаемых в Expression Engine.

В настоящий момент я планирую использовать задание cron для доступа к URL.с рысью.URL будет случайной строкой, поэтому на него нельзя будет наткнуться, но он будет общедоступным.Задание cron загрузит URL-адрес, и сценарий будет запущен как часть механизма выражений.

Кажется, что идеальный способ запуска этих сценариев - получить задание cron для внутреннего запуска сценария PHP, нов настоящее время мне нужно, чтобы он запускал вещи из среды EE, поэтому вызов моего скрипта модуля не удался, так как он не был бы передан по каналу.

Как я могу передать это на работу или я должен просто пойти сплан А?

Ответы [ 2 ]

2 голосов
/ 26 мая 2011

На форумах EE2 и форумах EE1 вы найдете много людей, использующих задания cron для разных целей.

Наиболее популярное использование - автоматическое закрытие записей с истекшим сроком действия с использованием сценария PHP командной строки с запланированным заданием cron:

* * 1010

Статья ExpressionEngine Wiki дает некоторое представление о том, как скрипт настроен и запланирован:

Этот скрипт командной строки PHP позволяет выполнять произвольные SQL-запросы в вашей базе данных EE. Здесь не будет видимый вывод (в этом случае мы бы просто используйте модуль Query в шаблон, верно?), так как весь Дело в том, чтобы запустить этот скрипт без присмотра.

Поместите этот файл в свою систему "EE" папку, убедитесь, что исполняемый бит устанавливается (chmod + x ee_cli_sql.php), затем звонить вручную или через cron.

Если вы не хотите использовать CLI (интерфейс командной строки) для управления своей работой cron, вы можете рассмотреть Cron Plugin от EllisLab, который можно настроить для вызова плагина или модуля на регулярно, по расписанию.

0 голосов
/ 08 марта 2011

Я думаю, что самым простым вариантом было бы просто иметь отдельный скрипт PHP, который делает это.

Однако, чтобы сделать это в EE, вам нужно создать плагин или расширение (я никогда не могу вспомнитькоторый должен выполнять какие задачи), который выполняет любой PHP-код, который вы хотите запустить, и затем вызывает расширение или плагин с любой созданной вами страницы шаблона для доступа по URL-адресу.

т.е.что-то вроде:

{exp:runcron}
{/exp:runcron}

Этот код будет вызывать плагин, а плагин будет запускать код PHP, который выполняет любую задачу, которую вы имели в виду.

...