sidekiq-priority 0.0.4 → 0.0.6
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.
- data/README.md +15 -5
- data/Rakefile +3 -8
- data/lib/sidekiq/priority.rb +2 -3
- data/lib/sidekiq/priority/server/fetch.rb +1 -0
- data/lib/sidekiq/priority/version.rb +1 -1
- metadata +66 -2
data/README.md
CHANGED
@@ -2,12 +2,14 @@ Sidekiq Priority
|
|
2
2
|
================
|
3
3
|
Prioritize Sidekiq jobs within queues
|
4
4
|
|
5
|
+
[](https://travis-ci.org/socialpandas/sidekiq-priority)
|
6
|
+
|
5
7
|
Overview
|
6
8
|
--------
|
7
9
|
|
8
10
|
Sidekiq Priority lets you prioritize the jobs within any Sidekiq queue.
|
9
11
|
|
10
|
-
For example, say you
|
12
|
+
For example, say you add 5 jobs with the default priority:
|
11
13
|
|
12
14
|
```ruby
|
13
15
|
5.times.do
|
@@ -15,7 +17,7 @@ For example, say you've added 5 jobs:
|
|
15
17
|
end
|
16
18
|
```
|
17
19
|
|
18
|
-
Using Sidekiq Priority, you can add new jobs that have a higher priority by calling perform_with_priority instead of perform_async:
|
20
|
+
Using Sidekiq Priority, you can add new jobs that have a higher priority than those original 5 jobs by calling perform_with_priority instead of perform_async:
|
19
21
|
|
20
22
|
```ruby
|
21
23
|
MyWorker.perform_with_priority(:high, 42)
|
@@ -29,13 +31,21 @@ You can also add jobs that should only run with lower priority than the default
|
|
29
31
|
MyWorker.perform_with_priority(:low, 42)
|
30
32
|
```
|
31
33
|
|
32
|
-
|
34
|
+
Installation
|
35
|
+
------------
|
36
|
+
|
37
|
+
Include it in your Gemfile:
|
38
|
+
|
39
|
+
gem 'sidekiq-priority'
|
40
|
+
|
41
|
+
Custom Priorities
|
42
|
+
------------
|
33
43
|
|
34
|
-
By default, two priorities are available: `:high` (above the default prioritization of perform_async) and `:low` (below the default prioritization), but you can add others (these values should be symbols, and `nil` represents the default prioritization):
|
44
|
+
By default, two priorities are available: `:high` (above the default prioritization of perform_async) and `:low` (below the default prioritization of perform_async), but you can add others (these values should be symbols, and `nil` represents the default prioritization):
|
35
45
|
|
36
46
|
```ruby
|
37
47
|
# config/initializers/sidekiq_priority.rb
|
38
|
-
Sidekiq::
|
48
|
+
Sidekiq::Priority.priorities = [:very_high, :high, nil, :low]
|
39
49
|
```
|
40
50
|
|
41
51
|
License
|
data/Rakefile
CHANGED
@@ -1,12 +1,7 @@
|
|
1
1
|
#!/usr/bin/env rake
|
2
2
|
require "bundler/gem_tasks"
|
3
|
-
require "
|
3
|
+
require "rspec/core/rake_task"
|
4
4
|
|
5
|
-
|
5
|
+
RSpec::Core::RakeTask.new('spec')
|
6
6
|
|
7
|
-
|
8
|
-
t.libs << "lib"
|
9
|
-
t.libs << "test"
|
10
|
-
t.test_files = FileList["test/**/*_test.rb"]
|
11
|
-
t.verbose = true
|
12
|
-
end
|
7
|
+
task :default => :spec
|
data/lib/sidekiq/priority.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
require 'sidekiq'
|
2
|
-
require 'celluloid'
|
3
2
|
|
4
3
|
directory = File.dirname(File.absolute_path(__FILE__))
|
5
|
-
Dir.glob("#{directory}/priority
|
4
|
+
Dir.glob("#{directory}/priority/*.rb") { |file| require file }
|
6
5
|
Dir.glob("#{directory}/superworker/**/*.rb") { |file| require file } if defined?(Sidekiq::Superworker)
|
7
6
|
require "#{directory}/worker_ext.rb"
|
8
7
|
|
@@ -25,6 +24,6 @@ module Sidekiq
|
|
25
24
|
end
|
26
25
|
|
27
26
|
Sidekiq.configure_server do |config|
|
28
|
-
|
27
|
+
require "#{directory}/priority/server/fetch.rb"
|
29
28
|
Sidekiq.options[:fetch] = Sidekiq::Priority::Server::Fetch
|
30
29
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sidekiq-priority
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,8 +9,72 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2014-02-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rake
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :development
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
type: :development
|
39
|
+
prerelease: false
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: simplecov
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
type: :development
|
55
|
+
prerelease: false
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: simplecov-rcov
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :development
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
14
78
|
- !ruby/object:Gem::Dependency
|
15
79
|
name: sidekiq
|
16
80
|
requirement: !ruby/object:Gem::Requirement
|