Module: Rake
- Defined in:
- lib/only_one_rake.rb
Defined Under Namespace
Modules: DSL Classes: ProcessStatusLine, Task
Constant Summary collapse
- WHOAMI =
`whoami`.strip
Class Method Summary collapse
Class Method Details
.ensure_only_one_task_is_running(name, working_dir) ⇒ Object
14 15 16 17 |
# File 'lib/only_one_rake.rb', line 14 def self.ensure_only_one_task_is_running name, working_dir process_status_lines = `ps -u #{WHOAMI} -ef | grep rake | grep -v '/bash ' | grep -v 'grep rake'`.split("\n").map {|line| ProcessStatusLine.new *line.split(" ", 8) } Process.exit! 0 if process_status_lines.select {|process_status_line| process_status_line.namespace_equal?(name) && process_status_line.working_dir_equal?(working_dir) }.size > 1 end |