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 +7 -0
- data/.gitignore +9 -0
- data/.rspec +3 -0
- data/.travis.yml +5 -0
- data/Gemfile +4 -0
- data/README.md +61 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/demo/.gitignore +17 -0
- data/demo/Gemfile +11 -0
- data/demo/Gemfile.lock +133 -0
- data/demo/README.md +6 -0
- data/demo/Rakefile +47 -0
- data/demo/app/workers/dead_instantly_worker.rb +8 -0
- data/demo/app/workers/retry_worker.rb +8 -0
- data/demo/bin/bundle +3 -0
- data/demo/bin/rails +4 -0
- data/demo/bin/rake +4 -0
- data/demo/bin/setup +34 -0
- data/demo/bin/update +29 -0
- data/demo/config/application.rb +25 -0
- data/demo/config/boot.rb +3 -0
- data/demo/config/environment.rb +5 -0
- data/demo/config/environments/development.rb +25 -0
- data/demo/config/sidekiq.yml +4 -0
- data/demo/config.ru +5 -0
- data/lib/sidekiq/instantly_dead/version.rb +5 -0
- data/lib/sidekiq/instantly_dead.rb +40 -0
- data/lib/sidekiq/instantly_dead_error.rb +3 -0
- data/sidekiq-instantly_dead.gemspec +29 -0
- metadata +157 -0
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
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
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
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
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
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
|
data/demo/bin/bundle
ADDED
data/demo/bin/rails
ADDED
data/demo/bin/rake
ADDED
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
|
data/demo/config/boot.rb
ADDED
@@ -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
|
data/demo/config.ru
ADDED
@@ -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,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: []
|