A simple demo of running a scheduled PHP process on Heroku.
-
Clone this repo
$ git clone https://github.com/ryanbrainard/php-scheduler-demo.git
-
Go in the dir
$ cd php-scheduler-demo
-
Create the Heroku app with the buildpack set to a fork of the PHP buildpack that support the PHP CLI
$ heroku create --buildpack https://github.com/ryanbrainard/heroku-buildpack-php.git
-
Push the code to Heroku
$ git push heroku master
-
Test the script by running it in a one-off worker dyno just to see it work before scheduling it
$ heroku run php www/script.php Running `php www/script.php` attached to terminal... up, run.6599 Current time: 1359943709
-
Add the Scheduler Add-on
$ heroku addons:add scheduler:standard
-
Open the scheduler configuration page
$ heroku addons:open scheduler
-
Add the script as a job. Same as one-off step above, but without the
heroku run
- Add job... -$
bin/php www/script.php
-
View the scheduled job running in the logs
$ heroku logs ... 2013-02-04T01:55:13+00:00 heroku[api]: Starting process with command `bin/php www/script.php` by scheduler@addons.heroku.com 2013-02-04T01:55:16+00:00 heroku[scheduler.4997]: Starting process with command `bin/php www/script.php` 2013-02-04T01:55:16+00:00 app[scheduler.4997]: Current time: 1359942916 2013-02-04T01:55:18+00:00 heroku[scheduler.4997]: Process exited with status 0 2013-02-04T01:55:18+00:00 heroku[scheduler.4997]: State changed from starting to complete ...