Skip to content

Instantly share code, notes, and snippets.

@defunkt
Created November 3, 2009 19:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save defunkt/225360 to your computer and use it in GitHub Desktop.
Save defunkt/225360 to your computer and use it in GitHub Desktop.
require 'open3'
module ShellJob
@queue = :default
def self.perform(*args)
script = args.join(' ')
puts "$ #{script}"
Open3.popen3(args.join(' ')) do |stdin, stdout, stderr|
puts stdout.read.inspect
end
end
end
## Queue it up
# Resque.enqueue(ShellJob, 'which', 'cat')
ShellJob.perform('which', 'cat')
## Output:
# $ which cat
# "/bin/cat\n"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment