sidekiq-instantly_dead 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 150cdc8197bf451eca478e750a7ee9998b39bd85
4
+ data.tar.gz: aaab190629b75741edf3db3ab0517061826907d7
5
+ SHA512:
6
+ metadata.gz: 3543257ca5de8ad6a278e382aa0be0a693a494dba506949ec2c3120800aa6947f7434f8a7adf0c5ef4d325989cb6298d7086fc8809584ed0cce62d83844fbddc
7
+ data.tar.gz: ff1522a329b2c759c9b7b8472d8fde851ff879aacf95420dc64f17f0bb28d82e11295f462b1a1b1ce8575dbf00be0f0b9f856e669585ad3610276070987ff61b
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.3.3
5
+ before_install: gem install bundler -v 1.13.7
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in sidekiq-instantly_dead.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,61 @@
1
+ # Sidekiq::InstantlyDead
2
+
3
+ Sidekiq::InstantlyDead is a server-side Sidekiq middleware.
4
+
5
+ This plugin provides a way to moving your job to dead set instantly even if retry count remains.
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'sidekiq-instantly_dead'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install sidekiq-instantly_dead
22
+
23
+ ## Usage
24
+
25
+ ### configure server middleware settings
26
+
27
+ ```ruby
28
+ Sidekiq.configure_server do |config|
29
+ config.server_middleware do |chain|
30
+ chain.insert_after Sidekiq::Middleware::Server::RetryJobs, Sidekiq::InstantlyDead::Middleware, max_retries: 5
31
+ end
32
+ end
33
+ ````
34
+
35
+ - `mas_retries` option
36
+ - default: `Sidekiq::Middleware::Server::RetryJobs::DEFAULT_MAX_RETRY_ATTEMPTS`
37
+
38
+ ### in worker
39
+
40
+ ```ruby
41
+ class Worker
42
+ include Sidekiq::Worker
43
+ sidekiq_options retry: 5
44
+
45
+ def perform
46
+ # following error raised, move dead set instantly.
47
+ raise Sidekiq::InstantlyDeadError
48
+ end
49
+ end
50
+ ```
51
+
52
+ ## Development
53
+
54
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
55
+
56
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
57
+
58
+ ## Contributing
59
+
60
+ Bug reports and pull requests are welcome on GitHub at https://github.com/dany1468/sidekiq-instantly_dead.
61
+
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler/setup'
4
+ require 'sidekiq/instantly_dead'
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require 'irb'
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/demo/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+ # Ignore bundler config.
8
+ /.bundle
9
+
10
+ # Ignore all logfiles and tempfiles.
11
+ /log/*
12
+ /tmp/*
13
+ !/log/.keep
14
+ !/tmp/.keep
15
+
16
+ # Ignore Byebug command history file.
17
+ .byebug_history
data/demo/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source 'https://rubygems.org'
2
+
3
+ git_source(:github) do |repo_name|
4
+ repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
5
+ "https://github.com/#{repo_name}.git"
6
+ end
7
+
8
+ gem 'rails', '~> 5.0.1'
9
+ gem 'sidekiq'
10
+ gem 'sidekiq-instantly_dead', path: '..'
11
+ gem 'launchy'
data/demo/Gemfile.lock ADDED
@@ -0,0 +1,133 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ sidekiq-instantly_dead (0.1.0)
5
+ sidekiq
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actioncable (5.0.1)
11
+ actionpack (= 5.0.1)
12
+ nio4r (~> 1.2)
13
+ websocket-driver (~> 0.6.1)
14
+ actionmailer (5.0.1)
15
+ actionpack (= 5.0.1)
16
+ actionview (= 5.0.1)
17
+ activejob (= 5.0.1)
18
+ mail (~> 2.5, >= 2.5.4)
19
+ rails-dom-testing (~> 2.0)
20
+ actionpack (5.0.1)
21
+ actionview (= 5.0.1)
22
+ activesupport (= 5.0.1)
23
+ rack (~> 2.0)
24
+ rack-test (~> 0.6.3)
25
+ rails-dom-testing (~> 2.0)
26
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
27
+ actionview (5.0.1)
28
+ activesupport (= 5.0.1)
29
+ builder (~> 3.1)
30
+ erubis (~> 2.7.0)
31
+ rails-dom-testing (~> 2.0)
32
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
33
+ activejob (5.0.1)
34
+ activesupport (= 5.0.1)
35
+ globalid (>= 0.3.6)
36
+ activemodel (5.0.1)
37
+ activesupport (= 5.0.1)
38
+ activerecord (5.0.1)
39
+ activemodel (= 5.0.1)
40
+ activesupport (= 5.0.1)
41
+ arel (~> 7.0)
42
+ activesupport (5.0.1)
43
+ concurrent-ruby (~> 1.0, >= 1.0.2)
44
+ i18n (~> 0.7)
45
+ minitest (~> 5.1)
46
+ tzinfo (~> 1.1)
47
+ addressable (2.5.0)
48
+ public_suffix (~> 2.0, >= 2.0.2)
49
+ arel (7.1.4)
50
+ builder (3.2.3)
51
+ concurrent-ruby (1.0.4)
52
+ connection_pool (2.2.1)
53
+ erubis (2.7.0)
54
+ globalid (0.3.7)
55
+ activesupport (>= 4.1.0)
56
+ i18n (0.8.0)
57
+ launchy (2.4.3)
58
+ addressable (~> 2.3)
59
+ loofah (2.0.3)
60
+ nokogiri (>= 1.5.9)
61
+ mail (2.6.4)
62
+ mime-types (>= 1.16, < 4)
63
+ method_source (0.8.2)
64
+ mime-types (3.1)
65
+ mime-types-data (~> 3.2015)
66
+ mime-types-data (3.2016.0521)
67
+ mini_portile2 (2.1.0)
68
+ minitest (5.10.1)
69
+ nio4r (1.2.1)
70
+ nokogiri (1.7.0.1)
71
+ mini_portile2 (~> 2.1.0)
72
+ public_suffix (2.0.5)
73
+ rack (2.0.1)
74
+ rack-protection (1.5.3)
75
+ rack
76
+ rack-test (0.6.3)
77
+ rack (>= 1.0)
78
+ rails (5.0.1)
79
+ actioncable (= 5.0.1)
80
+ actionmailer (= 5.0.1)
81
+ actionpack (= 5.0.1)
82
+ actionview (= 5.0.1)
83
+ activejob (= 5.0.1)
84
+ activemodel (= 5.0.1)
85
+ activerecord (= 5.0.1)
86
+ activesupport (= 5.0.1)
87
+ bundler (>= 1.3.0, < 2.0)
88
+ railties (= 5.0.1)
89
+ sprockets-rails (>= 2.0.0)
90
+ rails-dom-testing (2.0.2)
91
+ activesupport (>= 4.2.0, < 6.0)
92
+ nokogiri (~> 1.6)
93
+ rails-html-sanitizer (1.0.3)
94
+ loofah (~> 2.0)
95
+ railties (5.0.1)
96
+ actionpack (= 5.0.1)
97
+ activesupport (= 5.0.1)
98
+ method_source
99
+ rake (>= 0.8.7)
100
+ thor (>= 0.18.1, < 2.0)
101
+ rake (12.0.0)
102
+ redis (3.3.3)
103
+ sidekiq (4.2.9)
104
+ concurrent-ruby (~> 1.0)
105
+ connection_pool (~> 2.2, >= 2.2.0)
106
+ rack-protection (>= 1.5.0)
107
+ redis (~> 3.2, >= 3.2.1)
108
+ sprockets (3.7.1)
109
+ concurrent-ruby (~> 1.0)
110
+ rack (> 1, < 3)
111
+ sprockets-rails (3.2.0)
112
+ actionpack (>= 4.0)
113
+ activesupport (>= 4.0)
114
+ sprockets (>= 3.0.0)
115
+ thor (0.19.4)
116
+ thread_safe (0.3.5)
117
+ tzinfo (1.2.2)
118
+ thread_safe (~> 0.1)
119
+ websocket-driver (0.6.5)
120
+ websocket-extensions (>= 0.1.0)
121
+ websocket-extensions (0.1.2)
122
+
123
+ PLATFORMS
124
+ ruby
125
+
126
+ DEPENDENCIES
127
+ launchy
128
+ rails (~> 5.0.1)
129
+ sidekiq
130
+ sidekiq-instantly_dead!
131
+
132
+ BUNDLED WITH
133
+ 1.13.7
data/demo/README.md ADDED
@@ -0,0 +1,6 @@
1
+ # README
2
+
3
+ ```
4
+ $ bundle install
5
+ $ bundle exec rake demo:dead
6
+ ```
data/demo/Rakefile ADDED
@@ -0,0 +1,47 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+ require 'sidekiq/instantly_dead'
6
+
7
+ Rails.application.load_tasks
8
+
9
+ namespace :demo do
10
+ task dead: :environment do
11
+ puts '=> Creating sidekiq tasks'
12
+
13
+ RetryWorker.perform_async
14
+ DeadInstantlyWorker.perform_async
15
+
16
+ run_sidekiq_monitoring
17
+ run_sidekiq_workers
18
+ end
19
+
20
+ def run_sidekiq_monitoring
21
+ require 'sidekiq/web'
22
+ Thread.new do
23
+ Rack::Server.start app: Sidekiq::Web, Port: 3000
24
+ end
25
+ sleep 1
26
+ Launchy.open 'http://127.0.0.1:3000/busy?poll=true'
27
+ end
28
+
29
+ def run_sidekiq_workers
30
+ require 'sidekiq/cli'
31
+ cli = Sidekiq::CLI.instance
32
+
33
+ %w(validate! boot_system).each do |stub|
34
+ cli.define_singleton_method(stub) {}
35
+ end
36
+
37
+ cli.send :setup_options, []
38
+
39
+ Sidekiq.options[:lifecycle_events][:startup] = [-> {
40
+ Sidekiq.server_middleware do |chain|
41
+ chain.insert_after Sidekiq::Middleware::Server::RetryJobs, Sidekiq::InstantlyDead::Middleware
42
+ end
43
+ }]
44
+
45
+ cli.run
46
+ end
47
+ end
@@ -0,0 +1,8 @@
1
+ class DeadInstantlyWorker
2
+ include Sidekiq::Worker
3
+ sidekiq_options retry: 10
4
+
5
+ def perform
6
+ raise Sidekiq::InstantlyDeadError
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ class RetryWorker
2
+ include Sidekiq::Worker
3
+ sidekiq_options retry: 10
4
+
5
+ def perform
6
+ raise 'error!'
7
+ end
8
+ end
data/demo/bin/bundle ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
+ load Gem.bin_path('bundler', 'bundle')
data/demo/bin/rails ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ APP_PATH = File.expand_path('../config/application', __dir__)
3
+ require_relative '../config/boot'
4
+ require 'rails/commands'
data/demo/bin/rake ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative '../config/boot'
3
+ require 'rake'
4
+ Rake.application.run
data/demo/bin/setup ADDED
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+ require 'fileutils'
4
+ include FileUtils
5
+
6
+ # path to your application root.
7
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
8
+
9
+ def system!(*args)
10
+ system(*args) || abort("\n== Command #{args} failed ==")
11
+ end
12
+
13
+ chdir APP_ROOT do
14
+ # This script is a starting point to setup your application.
15
+ # Add necessary setup steps to this file.
16
+
17
+ puts '== Installing dependencies =='
18
+ system! 'gem install bundler --conservative'
19
+ system('bundle check') || system!('bundle install')
20
+
21
+ # puts "\n== Copying sample files =="
22
+ # unless File.exist?('config/database.yml')
23
+ # cp 'config/database.yml.sample', 'config/database.yml'
24
+ # end
25
+
26
+ puts "\n== Preparing database =="
27
+ system! 'bin/rails db:setup'
28
+
29
+ puts "\n== Removing old logs and tempfiles =="
30
+ system! 'bin/rails log:clear tmp:clear'
31
+
32
+ puts "\n== Restarting application server =="
33
+ system! 'bin/rails restart'
34
+ end
data/demo/bin/update ADDED
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pathname'
3
+ require 'fileutils'
4
+ include FileUtils
5
+
6
+ # path to your application root.
7
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
8
+
9
+ def system!(*args)
10
+ system(*args) || abort("\n== Command #{args} failed ==")
11
+ end
12
+
13
+ chdir APP_ROOT do
14
+ # This script is a way to update your development environment automatically.
15
+ # Add necessary update steps to this file.
16
+
17
+ puts '== Installing dependencies =='
18
+ system! 'gem install bundler --conservative'
19
+ system('bundle check') || system!('bundle install')
20
+
21
+ puts "\n== Updating database =="
22
+ system! 'bin/rails db:migrate'
23
+
24
+ puts "\n== Removing old logs and tempfiles =="
25
+ system! 'bin/rails log:clear tmp:clear'
26
+
27
+ puts "\n== Restarting application server =="
28
+ system! 'bin/rails restart'
29
+ end
@@ -0,0 +1,25 @@
1
+ require_relative 'boot'
2
+
3
+ require "rails"
4
+ # Pick the frameworks you want:
5
+ require "active_model/railtie"
6
+ require "active_job/railtie"
7
+ # require "active_record/railtie"
8
+ require "action_controller/railtie"
9
+ # require "action_mailer/railtie"
10
+ require "action_view/railtie"
11
+ # require "action_cable/engine"
12
+ require "sprockets/railtie"
13
+ # require "rails/test_unit/railtie"
14
+
15
+ # Require the gems listed in Gemfile, including any gems
16
+ # you've limited to :test, :development, or :production.
17
+ Bundler.require(*Rails.groups)
18
+
19
+ module Demo
20
+ class Application < Rails::Application
21
+ # Settings in config/environments/* take precedence over those specified here.
22
+ # Application configuration should go into files in config/initializers
23
+ # -- all .rb files in that directory are automatically loaded.
24
+ end
25
+ end
@@ -0,0 +1,3 @@
1
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
2
+
3
+ require 'bundler/setup' # Set up gems listed in the Gemfile.
@@ -0,0 +1,5 @@
1
+ # Load the Rails application.
2
+ require_relative 'application'
3
+
4
+ # Initialize the Rails application.
5
+ Rails.application.initialize!
@@ -0,0 +1,25 @@
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
+
4
+ # In the development environment your application's code is reloaded on
5
+ # every request. This slows down response time but is perfect for development
6
+ # since you don't have to restart the web server when you make code changes.
7
+ config.cache_classes = false
8
+
9
+ # Do not eager load code on boot.
10
+ config.eager_load = false
11
+
12
+ # Show full error reports.
13
+ config.consider_all_requests_local = true
14
+
15
+ # Print deprecation notices to the Rails logger.
16
+ config.active_support.deprecation = :log
17
+
18
+ # Debug mode disables concatenation and preprocessing of assets.
19
+ # This option may cause significant delays in view rendering with a large
20
+ # number of complex assets.
21
+ config.assets.debug = true
22
+
23
+ # Suppress logger output for asset requests.
24
+ config.assets.quiet = true
25
+ end
@@ -0,0 +1,4 @@
1
+ :verbose: false
2
+ :concurrency: 2
3
+ :queues:
4
+ - default
data/demo/config.ru ADDED
@@ -0,0 +1,5 @@
1
+ # This file is used by Rack-based servers to start the application.
2
+
3
+ require_relative 'config/environment'
4
+
5
+ run Rails.application
@@ -0,0 +1,5 @@
1
+ module Sidekiq
2
+ module InstantlyDead
3
+ VERSION = '0.1.0'
4
+ end
5
+ end
@@ -0,0 +1,40 @@
1
+ require 'sidekiq'
2
+
3
+ require 'sidekiq/instantly_dead/version'
4
+ require 'sidekiq/instantly_dead_error'
5
+
6
+ module Sidekiq
7
+ module InstantlyDead
8
+ class Middleware
9
+ def initialize(options = {})
10
+ @max_retries = options.fetch(:max_retries, Sidekiq::Middleware::Server::RetryJobs::DEFAULT_MAX_RETRY_ATTEMPTS)
11
+ end
12
+
13
+ def call(_worker, msg, _queue)
14
+ yield
15
+ rescue Sidekiq::InstantlyDeadError
16
+ raise unless msg['retry']
17
+
18
+ unless msg['dead'] == false
19
+ max_retry_attempts = retry_attempts_from(msg['retry'], @max_retries)
20
+
21
+ msg['retry_count'] = max_retry_attempts
22
+
23
+ Sidekiq.logger.debug { "Increase retry_count to max_retry_attempt(#{max_retry_attempt}) to instantly dead" }
24
+ end
25
+
26
+ raise
27
+ end
28
+
29
+ private
30
+
31
+ def retry_attempts_from(msg_retry, default)
32
+ if Fixnum === msg_retry
33
+ msg_retry
34
+ else
35
+ default
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,3 @@
1
+ module Sidekiq
2
+ class InstantlyDeadError < StandardError; end
3
+ end
@@ -0,0 +1,29 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'sidekiq/instantly_dead/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'sidekiq-instantly_dead'
8
+ spec.version = Sidekiq::InstantlyDead::VERSION
9
+ spec.authors = ['dany1468']
10
+ spec.email = ['dany1468@gmail.com']
11
+
12
+ spec.summary = 'Moving your job to the Dead Job Queue INSTANTLY'
13
+ spec.description = 'Moving your job to the Dead Job Queue INSTANTLY'
14
+ spec.homepage = 'https://github.com/dany1468/sidekiq-instantly_dead'
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|spec|features)/})
18
+ end
19
+ spec.bindir = 'exe'
20
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
+ spec.require_paths = ['lib']
22
+
23
+ spec.add_dependency 'sidekiq'
24
+ spec.add_development_dependency 'bundler', '~> 1.13'
25
+ spec.add_development_dependency 'rake', '~> 10.0'
26
+ spec.add_development_dependency 'rspec', '~> 3.0'
27
+ spec.add_development_dependency 'mock_redis'
28
+ spec.add_development_dependency 'pry-byebug'
29
+ end
metadata ADDED
@@ -0,0 +1,157 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sidekiq-instantly_dead
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - dany1468
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-02-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: sidekiq
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.13'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.13'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: mock_redis
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry-byebug
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Moving your job to the Dead Job Queue INSTANTLY
98
+ email:
99
+ - dany1468@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - ".rspec"
106
+ - ".travis.yml"
107
+ - Gemfile
108
+ - README.md
109
+ - Rakefile
110
+ - bin/console
111
+ - bin/setup
112
+ - demo/.gitignore
113
+ - demo/Gemfile
114
+ - demo/Gemfile.lock
115
+ - demo/README.md
116
+ - demo/Rakefile
117
+ - demo/app/workers/dead_instantly_worker.rb
118
+ - demo/app/workers/retry_worker.rb
119
+ - demo/bin/bundle
120
+ - demo/bin/rails
121
+ - demo/bin/rake
122
+ - demo/bin/setup
123
+ - demo/bin/update
124
+ - demo/config.ru
125
+ - demo/config/application.rb
126
+ - demo/config/boot.rb
127
+ - demo/config/environment.rb
128
+ - demo/config/environments/development.rb
129
+ - demo/config/sidekiq.yml
130
+ - lib/sidekiq/instantly_dead.rb
131
+ - lib/sidekiq/instantly_dead/version.rb
132
+ - lib/sidekiq/instantly_dead_error.rb
133
+ - sidekiq-instantly_dead.gemspec
134
+ homepage: https://github.com/dany1468/sidekiq-instantly_dead
135
+ licenses: []
136
+ metadata: {}
137
+ post_install_message:
138
+ rdoc_options: []
139
+ require_paths:
140
+ - lib
141
+ required_ruby_version: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ required_rubygems_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ requirements: []
152
+ rubyforge_project:
153
+ rubygems_version: 2.5.2
154
+ signing_key:
155
+ specification_version: 4
156
+ summary: Moving your job to the Dead Job Queue INSTANTLY
157
+ test_files: []