Как зарегистрировать функцию для вызова в определенное время в Symfony2? - PullRequest
1 голос
/ 06 октября 2011

Как мне зарегистрировать код для вызова в определенное время в будущем?

Я хочу разрешить пользователям создавать «объекты» и иметь обработчик, который автоматически отправляет им статистику об этом объекте по электронной почте после заданногоколичество времени (скажем, 1 час).В идеале, я мог бы зарегистрировать обработчик с какой-то частью кодовой базы Symfony, но я не могу выяснить, как это сделать (пока все, что касается поиска в Google, - это материал о времени бета-тестирования Symfony2: P)

1 Ответ

3 голосов
/ 16 октября 2011

Я бы порекомендовал вам создать консольную команду Symfony2, так как тогда вы получите доступ ко всему фреймворку, включая контейнер внедрения зависимостей и так далее.Подробности этого в кулинарной книге Symfony2 окончены, поэтому я не буду их здесь дублировать, поскольку запись в кулинарной книге довольно тщательная.После того как вы создали свой командный класс с именем задачи, например example:my-task, вы можете вставить запись в ваш файл crontab, как показано ниже:

# Run your command every 5 mins
*/5 * * * * /path/to/symfony2/app/console example:my-task

, добавив любые аргументы командной строки в зависимости от ситуациинапример, --env=prod.Путь выше - это путь к месту, где находится ваше приложение Symfony2, и впоследствии он может запускать сценарий Symfony2 app/console.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...