Skip to content

Instantly share code, notes, and snippets.

@carimura
Created January 26, 2012 03:10
Show Gist options
  • Select an option

  • Save carimura/1680722 to your computer and use it in GitHub Desktop.

Select an option

Save carimura/1680722 to your computer and use it in GitHub Desktop.
class CreateInvoiceWorker < IronWorker::Base
attr_accessor :user_id
def run
u = User.find(user_id)
usage = u.get_usage
invoice = u.create_invoice(usage)
invoice.save
end
end
worker = ProcessUsersWorker.new
worker.schedule(:start_at => (Time.current + 1.day).change(:hour => 4),
:run_every => 3600 * 24)
class ProcessUsersWorker < IronWorker::Base
merge_worker "create_invoice_worker", "CreateInvoiceWorker"
def run
users = User.all
users.each do |u|
worker = CreateInvoiceWorker.new
worker.user_id = u.id
worker.queue
end
end
end
class S3Worker < IronWorker::Base
merge_gem 'aws'
attr_accessor :image_url, :aws_access, :aws_secret
File.open('~/image.jpg', 'wb') do |fo|
fo.write open(image_url).read
end
Aws::S3Interface.new(aws_access, aws_secret)
s3.put("mybucket", 'img.jpg', File.open('~/image.jpg'))
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment