insque 0.6.0 → 0.6.1
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/README.md +1 -1
- data/insque.gemspec +2 -2
- data/lib/insque/version.rb +1 -1
- data/lib/insque.rb +7 -6
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 41594a38f5f9ff47f8ed7bab78c5d4f488f7b733
|
|
4
|
+
data.tar.gz: 95c6383a58ce039840906c5684b336a9f273e659
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2c518a09723ab1b90f04b693c154cceac146a47e664ba24376ee802c5770aa7285602e96019d0edbe2b76469ca16bb1de4d555a09d5435a91a00e419bedf6038
|
|
7
|
+
data.tar.gz: f29dd77fbf9d9cd0b0cc5efbf39e07a1aa5fa9864770a4d34fa3f53be35dfb8fc6a8df76d75a10864e68e897ae7a0bbf1a4ab6a636bce45634cc9c76147b0e00
|
data/README.md
CHANGED
|
@@ -27,7 +27,7 @@ Sender name is the unique identifier of your instance of insque. You can use sev
|
|
|
27
27
|
|
|
28
28
|
To broadcast message use:
|
|
29
29
|
```ruby
|
|
30
|
-
Insque.broadcast :message_name, {:
|
|
30
|
+
Insque.broadcast :message_name, { params: { some: :param } }
|
|
31
31
|
```
|
|
32
32
|
There is an easy way to use insque as background jobs processing. You can use `send_later` method to call any method of your rails models in background:
|
|
33
33
|
```ruby
|
data/insque.gemspec
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
require File.expand_path('../lib/insque/version', __FILE__)
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |gem|
|
|
5
|
-
gem.authors = ["
|
|
5
|
+
gem.authors = ["Yuri Gomozov"]
|
|
6
6
|
gem.email = ["grophen@gmail.com"]
|
|
7
7
|
gem.description = "Instant queue. Background processing and message driven communication tool. Faster and simplier alternative to Resque."
|
|
8
8
|
gem.summary = "Redis-based multi-threaded queue"
|
|
9
|
-
gem.homepage = "https://github.com/Gropher/
|
|
9
|
+
gem.homepage = "https://github.com/Gropher/insque"
|
|
10
10
|
gem.licenses = ['MIT']
|
|
11
11
|
|
|
12
12
|
gem.files = `git ls-files`.split($\)
|
data/lib/insque/version.rb
CHANGED
data/lib/insque.rb
CHANGED
|
@@ -52,7 +52,8 @@ module Insque
|
|
|
52
52
|
keys = []
|
|
53
53
|
case recipient
|
|
54
54
|
when :any
|
|
55
|
-
|
|
55
|
+
pointers = @redis.keys('{insque}inbox_pointer_*')
|
|
56
|
+
keys = pointers.count > 0 ? @redis.mget(*pointers) : []
|
|
56
57
|
when :self
|
|
57
58
|
keys = [@inbox]
|
|
58
59
|
when :slow
|
|
@@ -60,7 +61,7 @@ module Insque
|
|
|
60
61
|
else
|
|
61
62
|
keys = recipient.is_a?(Array) ? recipient : [recipient]
|
|
62
63
|
end
|
|
63
|
-
value = { :
|
|
64
|
+
value = { message: "#{@sender}_#{message}", params: params, broadcasted_at: Time.now.utc }
|
|
64
65
|
log "SENDING: #{value.to_json} TO #{keys.to_json}" if @debug
|
|
65
66
|
@redis.multi do |r|
|
|
66
67
|
keys.each {|k| r.lpush k, value.to_json}
|
|
@@ -117,7 +118,7 @@ private
|
|
|
117
118
|
errors << parsed_message
|
|
118
119
|
delete << m
|
|
119
120
|
elsif DateTime.parse(parsed_message['broadcasted_at']) < 1.hour.ago.utc
|
|
120
|
-
restart << parsed_message.merge(:
|
|
121
|
+
restart << parsed_message.merge(restarted_at: Time.now.utc)
|
|
121
122
|
delete << m
|
|
122
123
|
end
|
|
123
124
|
rescue
|
|
@@ -131,9 +132,9 @@ private
|
|
|
131
132
|
if result
|
|
132
133
|
errors.each {|m| log "ERROR: #{m.to_json}" }
|
|
133
134
|
restart.each {|m| log "RESTART: #{m.to_json}" }
|
|
134
|
-
log "CLEANING SUCCESSFULL"
|
|
135
|
+
log "CLEANING #{inbox} SUCCESSFULL"
|
|
135
136
|
else
|
|
136
|
-
log "CLEANING FAILED"
|
|
137
|
+
log "CLEANING #{inbox} FAILED"
|
|
137
138
|
end
|
|
138
139
|
sleep(Random.rand * 300)
|
|
139
140
|
end
|
|
@@ -158,7 +159,7 @@ end
|
|
|
158
159
|
if defined?(ActiveRecord::Base)
|
|
159
160
|
class ActiveRecord::Base
|
|
160
161
|
def send_later(method, *args)
|
|
161
|
-
Insque.broadcast :send_later, {:
|
|
162
|
+
Insque.broadcast :send_later, { class: self.class.name, id: id, method: method, args: args }, :slow
|
|
162
163
|
end
|
|
163
164
|
def self.acts_as_insque_crud(*args)
|
|
164
165
|
options = args.extract_options!
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: insque
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.6.
|
|
4
|
+
version: 0.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
7
|
+
- Yuri Gomozov
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-04-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: redis
|
|
@@ -45,7 +45,7 @@ files:
|
|
|
45
45
|
- lib/insque/railtie.rb
|
|
46
46
|
- lib/insque/version.rb
|
|
47
47
|
- lib/tasks/insque.rake
|
|
48
|
-
homepage: https://github.com/Gropher/
|
|
48
|
+
homepage: https://github.com/Gropher/insque
|
|
49
49
|
licenses:
|
|
50
50
|
- MIT
|
|
51
51
|
metadata: {}
|