2010-06-23 18:19:38 -04:00
2010-05-20 00:04:48 -04:00
2010-05-17 01:36:30 -04:00
2010-06-22 16:15:17 -04:00
2010-06-23 18:19:23 -04:00
2010-06-23 18:19:38 -04:00
2010-06-23 18:17:55 -04:00
2010-06-23 18:17:55 -04:00
2010-06-22 16:33:16 -04:00

= Foreman

== Procfile

    alpha ./bin/alpha
    bravo ./bin/bravo some args
    charlie ./bin/charlie -n 5

== Development mode

=== Running

Log files will be output to standard out, colorized to aid in visual separation.

    $ foreman start
    [01:27:08] [alpha] started with pid 4393
    [01:27:08] [bravo] started with pid 4394
    [01:27:08] [charlie] started with pid 4395
    [01:27:08] [bravo] initializing...
    [01:27:08] [bravo] complete

=== Using Screen

Launch the processes in a screen session in indivudal windows

    $ foreman screen

== Single Process Execution

    $ foreman execute alpha

== Exporting to Upstart

=== Export to upstart scripts

    $ foreman export sampleapp

    $ initctl list | grep sampleapp
    sampleapp start/running
    sampleapp-alpha (1) start/running, process 4204
    sampleapp-bravo (1) start/running, process 4589
    sampleapp-charlie (1) start/running, process 4597

=== Change process concurrency levels

    $ foreman scale sampleapp alpha 4
    sampleapp-alpha (2) start/running, process 4164
    sampleapp-alpha (3) start/running, process 4166
    sampleapp-alpha (4) start/running, process 4168

    $ initctl list | grep sampleapp
    sampleapp start/running
    sampleapp-alpha (4) start/running, process 4168
    sampleapp-alpha (3) start/running, process 4166
    sampleapp-alpha (2) start/running, process 4164
    sampleapp-alpha (1) start/running, process 4204
    sampleapp-bravo (1) start/running, process 4589
    sampleapp-charlie (1) start/running, process 4597

    $ foreman scale sampleapp alpha 1
    sampleapp-alpha stop/waiting
    sampleapp-alpha stop/waiting
    sampleapp-alpha stop/waiting

=== Good Upstart citizen

All Upstart commands work as expected

    $ start sampleapp
    $ stop sampleapp
    $ restart sampleapp

=== Standardized Logging

    /var/log/sampleapp/alpha.log
    /var/log/sampleapp/bravo.log
    /var/log/sampleapp/charlie.log

== License

MIT

== Copyright

(c) 2010 David Dollar
Description
Manage Procfile-based applications
Readme MIT 1.1 MiB
Languages
Ruby 91.9%
HTML 5.9%
Shell 1.9%
Procfile 0.3%