module Rake
Constants
- WHOAMI
Public Class Methods
ensure_only_one_task_is_running(name, working_dir)
click to toggle source
# 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