2017-02-08 7 views
0

Я работаю в настоящее время на простом напоминании Laravel для Heroku. Я написал свой API, и все работает хорошо. Теперь я хочу запустить запланированную задачу на Heroku.Laravel on Heroku: Запланированная задача

В основном я ищу что-то, чтобы выполнить следующую команду на отдельном стенде:

php EmailScheduler.php 

или

php artisan schedule:emails 

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

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

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

В Ruby (Rails), например, я мог бы потребовать среду, чтобы иметь доступ к моей бизнес-логике, а затем запустить задачу таймера с использованием библиотеки параллельного ruby.

Я уже пытался требовать от

bootstrap/autoload.php 
bootstrap/app.php 

файлов, но мне кажется, что я должен делать больше, чем просто это, как и загрузку приложения.

Как я могу решить эту проблему с использованием структуры Laravel и, возможно, других сторонних библиотек?

ответ

0

Задание Планирование в laravel выполняется путем выполнения задания cron. Определив задание cron, можно запланировать выполнение задачи в период перерыва. Вы следуете официальной документации laravel для расписания: https://laravel.com/docs/5.3/scheduling

+0

благодарит за ваш ответ. Да, я знаю, но я хочу только PHP-решение, поэтому я не хочу полагаться на cron (поскольку я хочу размещать в облачной среде, и «cron» может быть недоступен таким образом) – Chris