Skip to content

Instantly share code, notes, and snippets.

@piavlo
Created December 26, 2012 10:56
Show Gist options
  • Save piavlo/4379593 to your computer and use it in GitHub Desktop.
Save piavlo/4379593 to your computer and use it in GitHub Desktop.
mail2gearman
#!/usr/bin/env ruby
require 'rubygems'
require 'mail'
require 'yaml'
require 'pp'
require 'json'
require 'gearman'
settings = YAML.load_file('/ssa/.settings')
#mail = Mail.read('/dev/stdin')
mail = Mail.read('/var/mail/process')
job = {}
job[:from] = mail.from
job[:subject] = mail.subject
job[:body] = mail.body
json = JSON.generate job
pp JSON.parse json
pp json
client = Gearman::Client.new(settings['gearman']['servers'])
taskset = Gearman::TaskSet.new(client)
task = Gearman::Task.new('PROCESS_INCOMING_EMAIL', job.to_json, { :background => true })
task.on_complete {|d| puts d }
taskset.add_task(task)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment