Skip to content

Instantly share code, notes, and snippets.

@seratch
Created October 25, 2012 09:37
Show Gist options
  • Select an option

  • Save seratch/3951664 to your computer and use it in GitHub Desktop.

Select an option

Save seratch/3951664 to your computer and use it in GitHub Desktop.

Revisions

  1. seratch created this gist Oct 25, 2012.
    2 changes: 2 additions & 0 deletions config.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,2 @@
    access_key_id: xxx
    secret_access_key: yyy
    14 changes: 14 additions & 0 deletions sqs_poll.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,14 @@
    #!/usr/bin/env ruby

    require 'yaml'
    require 'aws-sdk'

    config_file = File.join(File.dirname(__FILE__),"config.yml")
    config = YAML.load(File.read(config_file))
    AWS.config(config)

    sqs = AWS::SQS.new
    queue = sqs.queues.create("my_queue")
    queue.poll do |msg|
    puts msg.body
    end
    28 changes: 28 additions & 0 deletions sqs_send.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    #!/usr/bin/env ruby

    require 'yaml'
    require 'aws-sdk'

    config_file = File.join(File.dirname(__FILE__),"config.yml")
    config = YAML.load(File.read(config_file))
    AWS.config(config)

    # http://rubydoc.info/github/amazonwebservices/aws-sdk-for-ruby/master/AWS/SQS

    sqs = AWS::SQS.new
    queue = sqs.queues.create("my_queue")

    # http://rubydoc.info/github/amazonwebservices/aws-sdk-for-ruby/master/AWS/SQS/Queue

    send = lambda { |name, queue|
    while true do
    queue.send_message("#{name}:#{Time.now.to_s}")
    sleep 1
    end
    }

    Thread.new { send.call("t1", queue) }
    Thread.new { send.call("t2", queue) }
    Thread.new { send.call("t3", queue) }

    sleep 1000