Compare commits

...
9 Commits
Author SHA1 Message Date
David Dollar 2804316bbb 0.10.1 2010-12-22 13:56:13 -05:00
David Dollar 26859c2ec2 dont need a log dir 2010-12-22 13:55:51 -05:00
David Dollar 27152b0e76 docs pedantry 2010-12-13 18:13:11 -05:00
David Dollar 160945b499 doc the rake task so it shows in -T 2010-12-13 18:12:28 -05:00
David Dollar f2be566051 update man page 2010-12-13 18:11:36 -05:00
David Dollar a504a59f0b add a colon to the mock Procfile 2010-12-13 18:08:40 -05:00
David Dollar e6b61801b1 0.10.0 2010-12-13 18:05:41 -05:00
David Dollar dc231f072b allow optional colon after process name 2010-12-13 18:05:06 -05:00
David Dollar b77b23b306 declare license 2010-11-16 17:47:53 -05:00
6 changed files with 24 additions and 19 deletions
+7 -2
View File
@@ -1,4 +1,9 @@
Foreman # Foreman
=======
## Manual
See the [man page](http://ddollar.github.com/foreman) for usage. See the [man page](http://ddollar.github.com/foreman) for usage.
## License
MIT
+1
View File
@@ -37,6 +37,7 @@ task :man do
sh "git commit -m 'update readme' || echo 'nothing to commit'" sh "git commit -m 'update readme' || echo 'nothing to commit'"
end end
desc "Generate the Github docs"
task :pages => :man do task :pages => :man do
sh %{ sh %{
cp man/foreman.1.html /tmp/foreman.1.html cp man/foreman.1.html /tmp/foreman.1.html
+1 -1
View File
@@ -1,6 +1,6 @@
module Foreman module Foreman
VERSION = "0.9.2" VERSION = "0.10.1"
class AppDoesNotExist < Exception; end class AppDoesNotExist < Exception; end
+2 -3
View File
@@ -25,7 +25,7 @@ class Foreman::Engine
@order = [] @order = []
procfile.split("\n").inject({}) do |hash, line| procfile.split("\n").inject({}) do |hash, line|
next if line.strip == "" next if line.strip == ""
name, command = line.split(" ", 2) name, command = line.split(/:? +/, 2)
process = Foreman::Process.new(name, command) process = Foreman::Process.new(name, command)
process.color = next_color process.color = next_color
@order << process.name @order << process.name
@@ -95,12 +95,11 @@ private ######################################################################
running_processes[pid] = process running_processes[pid] = process
end end
def run(process, log_to_file=true) def run(process)
proctitle "ruby: foreman #{process.name}" proctitle "ruby: foreman #{process.name}"
begin begin
Dir.chdir directory do Dir.chdir directory do
FileUtils.mkdir_p "log"
command = process.command command = process.command
PTY.spawn("#{process.command} 2>&1") do |stdin, stdout, pid| PTY.spawn("#{process.command} 2>&1") do |stdin, stdout, pid|
+12 -12
View File
@@ -1,4 +1,4 @@
foreman(1) -- manage Psfile-based applications foreman(1) -- manage Procfile-based applications
================================================ ================================================
## SYNOPSIS ## SYNOPSIS
@@ -8,8 +8,8 @@ foreman(1) -- manage Psfile-based applications
## DESCRIPTION ## DESCRIPTION
**Foreman** is a manager for Psfile-based applications. Its aim is to **Foreman** is a manager for Procfile-based applications. Its aim is to
abstract away the details of the Psfile format, and allow you to either run abstract away the details of the Procfile format, and allow you to either run
your application directly or export it to some other process management your application directly or export it to some other process management
format. format.
@@ -18,7 +18,7 @@ format.
`foreman start` is used to run your application directly from the command line. `foreman start` is used to run your application directly from the command line.
If no additional parameters are passed, foreman will run one instance of each If no additional parameters are passed, foreman will run one instance of each
type of process defined in your Psfile. type of process defined in your Procfile.
If a parameter is passed, foreman will run one instance of the specified If a parameter is passed, foreman will run one instance of the specified
application type. application type.
@@ -66,8 +66,8 @@ The following options control how the application is run:
These options control all modes of foreman's operation. These options control all modes of foreman's operation.
* `-f`, `--psfile`: * `-f`, `--procfile`:
Specify an alternate location for the application's Psfile. This file's Specify an alternate location for the application's Procfile. This file's
containing directory will be assumed to be the root directory of the containing directory will be assumed to be the root directory of the
application. application.
@@ -99,13 +99,13 @@ will be structured to make the following commands valid:
`restart appname-processname-3` `restart appname-processname-3`
## PSFILE ## PROCFILE
A Psfile should contain both a name for the process and the command used A Procfile should contain both a name for the process and the command used
to run it. to run it.
web bundle exec thin start web: bundle exec thin start
job bundle exec rake jobs:work job: bundle exec rake jobs:work
## EXAMPLES ## EXAMPLES
@@ -117,9 +117,9 @@ Export the application in upstart format:
$ foreman export upstart /etc/init $ foreman export upstart /etc/init
Run one process type from the application defined in a specific Psfile: Run one process type from the application defined in a specific Procfile:
$ foreman start alpha -p ~/myapp/Psfile $ foreman start alpha -p ~/myapp/Procfile
## COPYRIGHT ## COPYRIGHT
+1 -1
View File
@@ -27,7 +27,7 @@ end
def write_procfile(procfile="Procfile") def write_procfile(procfile="Procfile")
File.open(procfile, "w") do |file| File.open(procfile, "w") do |file|
file.puts "alpha ./alpha" file.puts "alpha ./alpha"
file.puts "bravo ./bravo" file.puts "bravo: ./bravo"
end end
end end