cron работа с CakePHP - PullRequest
       29

cron работа с CakePHP

2 голосов
/ 07 июля 2010

Я сослался на http://bakery.cakephp.org/articles/view/calling-controller-actions-from-cron-and-the-command-line, создал cron_dispatcher.php и поместил его в папку приложения.

Я вернул некоторые тестовые функции электронной почты для запуска задания cron в методе тестирования моего пользовательского контроллера.

И я создал задание Cron в панели управления моего веб-сервера, как

"/usr/bin/php/home4/enventur/public_html/pennystock/cron_dispatcher.php /users/test"

Но выдает ошибку «Не указан входной файл».

Пожалуйста, помогите мне, как это решить ??

Заранее спасибо

Ответы [ 3 ]

4 голосов
/ 29 июля 2010

Я сделал это по-другому,

Пожалуйста, посмотрите шаги, это может быть полезно для других ..

Cron / Shell Использование Cakephp Framework Структура:

  1. создать

    F:\websites\projectname\app\vendors\shells\filename.php

    class ClassName extends Shell {
        //var $uses = array('Post'); //name of Model
    
        //Main function runs always when shell executes
        function main() {
            mail("nidhin@2basetechnologies.com","Test","Test");
        }
    }
    

2. установить 754 разрешения на F:\websites\projectname\cake\console\cake

Установить задание cron как /home4/enventur/public_html/pennystock/cake/console/cake -app "/home4/enventur/public_html/pennystock/app" ClassName >/dev/null 2>&1

/ dev / null 2> & 1: для подавления предупреждения / ошибки / сообщения с сервера

Спасибо, Нидин

3 голосов
/ 07 июля 2010

Похоже, PHP не может найти указанный вами файл. Проверьте правильность пути. Например:

# incorrect path
/home4/enventur/public_html/pennystock/cron_dispatcher.php

# correct path (?)
/home4/enventur/public_html/pennystock/app/cron_dispatcher.php

Теперь эта следующая часть не дает прямого ответа на ваш вопрос, но стоит отметить, что Оболочки CakePHP предназначены именно для этой цели.

Если вы создали оболочку с именем Mailer и скопировали свой код UsersController::test() в MailerShell::test(), вы бы назвали это из cron следующим образом (опять же, проверьте правильность путей):

/home4/enventur/public_html/pennystock/cake/console/cake -app /home4/enventur/public_html/pennystock/app mailer test

При таком подходе вам не придется использовать cron_dispatcher.php, как отмечалось в той древней статье о выпечке (написано для CakePHP 1.1 на Рождество 4 года назад).

0 голосов
/ 07 июля 2010

Задание cron - это длительный процесс, который выполняет команды в определенные даты и время.

Перейдите в учетную запись cpanel вашего домена.

Сначала создайте файл, для которого вы хотите запустить кодиспользуя работу cron.и загрузите файл в корневую папку вашего веб-сайта.

Теперь перейдите в раздел «Cron job» в вашей учетной записи cpanel, введите путь к файлу в текстовом поле и установите расписание, в которое вы хотите запустить файл.

Спасибо.

...