qmore 0.5.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.
@@ -0,0 +1,49 @@
1
+ require 'rspec'
2
+ require 'qmore'
3
+
4
+ # No need to start redis when running in Travis
5
+ unless ENV['CI']
6
+
7
+ begin
8
+ Qmore.client.queues.counts
9
+ rescue Errno::ECONNREFUSED
10
+ spec_dir = File.dirname(File.expand_path(__FILE__))
11
+ REDIS_CMD = "redis-server #{spec_dir}/redis-test.conf"
12
+
13
+ puts "Starting redis for testing at localhost..."
14
+ puts `cd #{spec_dir}; #{REDIS_CMD}`
15
+
16
+ # Schedule the redis server for shutdown when tests are all finished.
17
+ at_exit do
18
+ puts 'Stopping redis'
19
+ pid = File.read("#{spec_dir}/redis.pid").to_i rescue nil
20
+ system ("kill -9 #{pid}") if pid.to_i != 0
21
+ File.delete("#{spec_dir}/redis.pid") rescue nil
22
+ File.delete("#{spec_dir}/redis-server.log") rescue nil
23
+ File.delete("#{spec_dir}/dump.rdb") rescue nil
24
+ end
25
+ end
26
+
27
+ end
28
+
29
+ def dump_redis
30
+ result = {}
31
+ redis = Qmore.client.redis
32
+ redis.keys("*").each do |key|
33
+ type = redis.type(key)
34
+ result["#{key} (#{type})"] = case type
35
+ when 'string' then redis.get(key)
36
+ when 'list' then redis.lrange(key, 0, -1)
37
+ when 'zset' then redis.zrange(key, 0, -1, :with_scores => true)
38
+ when 'set' then redis.smembers(key)
39
+ when 'hash' then redis.hgetall(key)
40
+ else type
41
+ end
42
+ end
43
+ return result
44
+ end
45
+
46
+ class SomeJob
47
+ def self.perform(*args)
48
+ end
49
+ end
metadata ADDED
@@ -0,0 +1,172 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: qmore
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Matt Conway
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-06-28 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: qless
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ~>
19
+ - !ruby/object:Gem::Version
20
+ version: 0.9.3
21
+ none: false
22
+ prerelease: false
23
+ type: :runtime
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ version: 0.9.3
29
+ none: false
30
+ - !ruby/object:Gem::Dependency
31
+ name: multi_json
32
+ requirement: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ~>
35
+ - !ruby/object:Gem::Version
36
+ version: 1.7.7
37
+ none: false
38
+ prerelease: false
39
+ type: :runtime
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ version: 1.7.7
45
+ none: false
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ! '>='
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ none: false
54
+ prerelease: false
55
+ type: :development
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ! '>='
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ none: false
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ requirement: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '2.5'
69
+ none: false
70
+ prerelease: false
71
+ type: :development
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ~>
75
+ - !ruby/object:Gem::Version
76
+ version: '2.5'
77
+ none: false
78
+ - !ruby/object:Gem::Dependency
79
+ name: rack-test
80
+ requirement: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: 0.5.4
85
+ none: false
86
+ prerelease: false
87
+ type: :development
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ~>
91
+ - !ruby/object:Gem::Version
92
+ version: 0.5.4
93
+ none: false
94
+ - !ruby/object:Gem::Dependency
95
+ name: orderedhash
96
+ requirement: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ! '>='
99
+ - !ruby/object:Gem::Version
100
+ version: '0'
101
+ none: false
102
+ prerelease: false
103
+ type: :development
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - ! '>='
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ none: false
110
+ description: Qmore allows one to specify the queues a worker processes by the use
111
+ of wildcards, negations, or dynamic look up from redis. It also allows one to specify
112
+ the relative priority between queues (rather than within a single queue). It plugs
113
+ into the Qless webapp to make it easy to manage the queues.
114
+ email:
115
+ - matt@conwaysplace.com
116
+ executables: []
117
+ extensions: []
118
+ extra_rdoc_files: []
119
+ files:
120
+ - .gitignore
121
+ - .travis.yml
122
+ - CHANGELOG
123
+ - Gemfile
124
+ - LICENSE
125
+ - README.md
126
+ - Rakefile
127
+ - config.ru
128
+ - lib/qmore-server.rb
129
+ - lib/qmore.rb
130
+ - lib/qmore/attributes.rb
131
+ - lib/qmore/job_reserver.rb
132
+ - lib/qmore/server.rb
133
+ - lib/qmore/server/views/dynamicqueues.erb
134
+ - lib/qmore/server/views/priorities.erb
135
+ - lib/qmore/version.rb
136
+ - qmore.gemspec
137
+ - spec/attributes_spec.rb
138
+ - spec/job_reserver_spec.rb
139
+ - spec/redis-test.conf
140
+ - spec/server_spec.rb
141
+ - spec/spec_helper.rb
142
+ homepage: ''
143
+ licenses: []
144
+ post_install_message:
145
+ rdoc_options: []
146
+ require_paths:
147
+ - lib
148
+ required_ruby_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ! '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ none: false
154
+ required_rubygems_version: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ! '>='
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ none: false
160
+ requirements: []
161
+ rubyforge_project: qmore
162
+ rubygems_version: 1.8.25
163
+ signing_key:
164
+ specification_version: 3
165
+ summary: A qless plugin that gives more control over how queues are processed
166
+ test_files:
167
+ - spec/attributes_spec.rb
168
+ - spec/job_reserver_spec.rb
169
+ - spec/redis-test.conf
170
+ - spec/server_spec.rb
171
+ - spec/spec_helper.rb
172
+ has_rdoc: