Alephant::Sequencer
Using DynamoDB consistent read to enforce message order from SQS.
Installation
Add this line to your application’s Gemfile:
gem 'alephant-sequencer'
And then execute:
$ bundle
Or install it yourself as:
$ gem install alephant-sequencer
Usage
“ require “alephant/sequencer”
Ensure you check your AWS region configuration before you start using AWS.config.region
To set the value use: AWS.config(region: ‘eu-west-1’)
table_name = “foo” component_id = “bar_baz/e8c81cbbbeb3967a423bb49e352eed0e” sequence_id = “$.sequence_number” # Optional JSONPath (specifying location of sequence_id)
sequencer = Alephant::Sequencer.create(table_name, component_id, sequence_id)
Data from SQS message
json = JSON.generate({ :sequence_number => 3 }) msg = Struct.new(:body).new(json)
Sets last seen id
sequencer.set_last_seen(msg)
Gets last seen id
sequencer.get_last_seen
=> 3
Is the message sequential?
sequencer.sequential?(msg)
Reset sequence
sequencer.delete!
“
Contributing
- Fork it ( http://github.com/
Maruku could not parse this XML/HTML: <my-github-username>/alephant-sequencer/fork ) - Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request

