2017-02-08 3 views
0

나는 Heroku를위한 간단한 미리 알림 Laravel 앱을 현재 작업하고 있습니다. API를 작성했는데 모든 것이 잘 작동합니다. 이제 Heroku에서 예약 된 작업을 실행하고 싶습니다.Laravel on Heroku : 예약 된 작업

php EmailScheduler.php 

또는

php artisan schedule:emails 

이 명령은 긴 실행중인 프로세스 곳, 예를 들어 있어야한다 :

는 기본적으로 나는 별도의 다이노에서 다음 명령을 실행하기 위해 뭔가를 찾고 있어요 매분마다 동일한 작업이 반복해서 실행됩니다.

이 작업에서 데이터베이스를 쿼리하고 예정된 모든 미리 알림을 가져 와서 전자 메일로 보내고 싶습니다. 그래서 전설적인 모델처럼 내 응용 프로그램의 비즈니스 로직에 액세스 할 수 있어야합니다.

나는 스케줄러 애드온이나 특정 "cron"솔루션에 대해 알고 있지만 PHP 만의 솔루션을 원한다면 대부분의 시간 동안 잠을 잘 수 있고 매분마다 깨울 수있는 장기 실행 스크립트 나 태스크를 원합니다.

예를 들어 Ruby (Rails)에서는 환경을 요구할 수 있으므로 비즈니스 로직에 액세스 할 수 있고 동시 루비 라이브러리를 사용하여 타이머 작업을 시작할 수 있습니다.

나는 이미

bootstrap/autoload.php 
bootstrap/app.php 

파일을 요구하는 시도했지만 내가 응용 프로그램 부팅처럼, 단지 이것보다 더 많은 일을해야 할 것 같다.

Laravel 프레임 워크와 다른 타사 라이브러리를 사용하여 어떻게 해결할 수 있습니까?

답변

0

laravel의 작업 예약은 cron 작업을 수행하여 수행됩니다. cron 작업을 정의하면 defind 기간에 수행 할 작업을 예약 할 수 있습니다. 예약을 위해 laravel의 공식 문서를 따르십시오 : https://laravel.com/docs/5.3/scheduling

+0

답장을 보내 주셔서 감사합니다. 예, 알고 싶지만 PHP 전용 솔루션이 필요합니다. 따라서 cron에 의존하고 싶지 않습니다. (클라우드 환경에서 호스트하고 "cron"을이 방법으로 사용할 수 없기 때문에) – Chris