qpush 0.1.6 → 0.1.7
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 +4 -4
- data/.codeclimate.yml +26 -0
- data/README.md +1 -1
- data/lib/qpush/server/jobs.rb +8 -6
- data/lib/qpush/version.rb +1 -1
- data/lib/qpush/web.rb +5 -1
- data/lib/qpush/web/apis/crons.rb +1 -1
- data/lib/qpush/web/apis/heart.rb +2 -2
- data/lib/qpush/web/apis/history.rb +1 -1
- data/lib/qpush/web/apis/jobs.rb +1 -1
- data/lib/qpush/web/apis/morgue.rb +1 -1
- data/lib/qpush/web/apis/queue_delayed.rb +2 -2
- data/lib/qpush/web/apis/retries.rb +1 -1
- data/lib/qpush/web/apis/stats.rb +2 -2
- data/lib/qpush/web/config.rb +4 -0
- data/lib/qpush/web/redis.rb +32 -0
- data/lib/qpush/web/server.rb +5 -5
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4dd90aa194184f401041a0aacdd7f9a2d63615b2
|
4
|
+
data.tar.gz: e4215be59cbe6de524c3b29f9afed23be68c70a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30432e4910a60a4d82acfec8ba806ba8b1671ac9de0bdad3feff9fb573e87417a90182f51325c1994befb35f6bf709b179e6b2d4ee846088d2c285c8c6238180
|
7
|
+
data.tar.gz: 19de3dfc8b141ce765894b0614994a5db361b268d566e96696373f6223a4e9590a53bcbddea94e04109ec03328f6319e62e4a69461416d1485df3e35c54156da
|
data/.codeclimate.yml
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
engines:
|
2
|
+
rubocop:
|
3
|
+
enabled: true
|
4
|
+
checks:
|
5
|
+
Rubocop/Metrics/ClassLength:
|
6
|
+
enabled: false
|
7
|
+
golint:
|
8
|
+
enabled: true
|
9
|
+
eslint:
|
10
|
+
enabled: true
|
11
|
+
csslint:
|
12
|
+
enabled: true
|
13
|
+
duplication:
|
14
|
+
enabled: true
|
15
|
+
config:
|
16
|
+
languages:
|
17
|
+
- ruby
|
18
|
+
#mass_threshold: 30
|
19
|
+
ratings:
|
20
|
+
paths:
|
21
|
+
- lib/**
|
22
|
+
- "**.rb"
|
23
|
+
exclude_paths:
|
24
|
+
- lib/qpush/web/public/**/*
|
25
|
+
- lib/qpush/server/queue.rb
|
26
|
+
- test/**/*
|
data/README.md
CHANGED
data/lib/qpush/server/jobs.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
module QPush
|
2
2
|
module Server
|
3
3
|
module JobRegister
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
class << self
|
5
|
+
def included(base)
|
6
|
+
_register_job(base)
|
7
|
+
end
|
8
|
+
|
9
|
+
def _register_job(base)
|
10
|
+
Server.redis { |c| c.sadd(QPush::Base::KEY + ':jobs', base.name) }
|
11
|
+
end
|
10
12
|
end
|
11
13
|
end
|
12
14
|
|
data/lib/qpush/version.rb
CHANGED
data/lib/qpush/web.rb
CHANGED
data/lib/qpush/web/apis/crons.rb
CHANGED
data/lib/qpush/web/apis/heart.rb
CHANGED
@@ -3,8 +3,8 @@ module QPush
|
|
3
3
|
module Apis
|
4
4
|
class Heart
|
5
5
|
def call
|
6
|
-
heart = Web.redis { |c| c.get(
|
7
|
-
{ status: !heart.nil?, namespace:
|
6
|
+
heart = Web.redis { |c| c.get(Web.keys.heart) }
|
7
|
+
{ status: !heart.nil?, namespace: 'default' }
|
8
8
|
end
|
9
9
|
end
|
10
10
|
end
|
data/lib/qpush/web/apis/jobs.rb
CHANGED
@@ -17,13 +17,13 @@ module QPush
|
|
17
17
|
private
|
18
18
|
|
19
19
|
def retrieve_delay
|
20
|
-
delays = @conn.zrangebyscore(
|
20
|
+
delays = @conn.zrangebyscore(Web.keys.delay, @score, @score)
|
21
21
|
delays.each
|
22
22
|
|
23
23
|
# Performs a watch on our delay list
|
24
24
|
#
|
25
25
|
def watch_delay
|
26
|
-
@conn.watch(
|
26
|
+
@conn.watch(Web.keys.delay) do
|
27
27
|
yield if block_given?
|
28
28
|
end
|
29
29
|
end
|
data/lib/qpush/web/apis/stats.rb
CHANGED
@@ -29,7 +29,7 @@ module QPush
|
|
29
29
|
|
30
30
|
def retrieve_stats
|
31
31
|
@stats = Web.redis do |conn|
|
32
|
-
conn.hgetall(
|
32
|
+
conn.hgetall(Web.keys.stats)
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
@@ -49,7 +49,7 @@ module QPush
|
|
49
49
|
|
50
50
|
def calculate_current
|
51
51
|
Web.redis do |c|
|
52
|
-
|
52
|
+
Web.keys.perform_list.collect { |list| c.llen(list) }.reduce(:+)
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
data/lib/qpush/web/config.rb
CHANGED
data/lib/qpush/web/redis.rb
CHANGED
@@ -12,5 +12,37 @@ module QPush
|
|
12
12
|
Web.config.redis_url)
|
13
13
|
end
|
14
14
|
end
|
15
|
+
|
16
|
+
class RedisKeys
|
17
|
+
KEYS = [:delay,
|
18
|
+
:queue,
|
19
|
+
:perform,
|
20
|
+
:stats,
|
21
|
+
:heart,
|
22
|
+
:crons,
|
23
|
+
:history,
|
24
|
+
:morgue]
|
25
|
+
|
26
|
+
attr_reader :delay, :queue, :perform, :stats, :heart,
|
27
|
+
:crons, :history, :morgue
|
28
|
+
|
29
|
+
def initialize(options = {})
|
30
|
+
@namespace = options[:namespace] || 'default'
|
31
|
+
@priorities = options[:priorities] || 5
|
32
|
+
build_keyspaces
|
33
|
+
end
|
34
|
+
|
35
|
+
def perform_list
|
36
|
+
@perform_list ||= (1..@priorities).collect { |num| "#{perform}:#{num}" }
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def build_keyspaces
|
42
|
+
KEYS.each do |key|
|
43
|
+
instance_variable_set("@#{key}", "#{QPush::Base::KEY}:#{@namespace}:#{key}")
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
15
47
|
end
|
16
48
|
end
|
data/lib/qpush/web/server.rb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
module QPush
|
2
2
|
module Web
|
3
3
|
class Server < Sinatra::Base
|
4
|
-
|
4
|
+
set :public_folder, File.expand_path(File.dirname(__FILE__)) + '/public'
|
5
5
|
|
6
6
|
before do
|
7
|
-
|
7
|
+
pass if request.path_info == '/'
|
8
8
|
content_type :json
|
9
9
|
headers 'Access-Control-Allow-Origin' => '*',
|
10
10
|
'Access-Control-Allow-Methods' => ['OPTIONS', 'GET', 'POST']
|
11
11
|
end
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
get '/' do
|
14
|
+
File.read(File.join(settings.public_folder, 'index.html'))
|
15
|
+
end
|
16
16
|
|
17
17
|
get '/stats' do
|
18
18
|
Get.stats
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qpush
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicholas Sweeting
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -188,6 +188,7 @@ extensions: []
|
|
188
188
|
extra_rdoc_files: []
|
189
189
|
files:
|
190
190
|
- ".byebug_history"
|
191
|
+
- ".codeclimate.yml"
|
191
192
|
- ".gitignore"
|
192
193
|
- ".travis.yml"
|
193
194
|
- CODE_OF_CONDUCT.md
|