agis 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/agis.rb +12 -1
  3. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7ea2ef4e507cea68fd6658697e07057904330567
4
- data.tar.gz: 6f47831882d708fab0a8806cbb3f27502ddc6f4c
3
+ metadata.gz: d532451735134635bd6a880bd534f48fafdb0a53
4
+ data.tar.gz: 85725b2309aec941cbda5f6e35ca554b7af40581
5
5
  SHA512:
6
- metadata.gz: 61b311da1175aa2483c77837519d6e3c598ea566acc1d70b7dd625e3f06f44138a0297a7aa05a2dbc23841a42c6dca199dde283f9a7991d7fe94f08af5394f2a
7
- data.tar.gz: 79890cdb4d074f5eca258dfdbf42ebe4fe02423ce9b4b800671ba1f7628dfdd38587f34ceed26342e57bf6106354e82baccefd8514ee4d109ab2286e6810638e
6
+ metadata.gz: 11c59e8dfc92ae066ced3138ce200eadcac7a6a8428a554d1d629c0240f2c52e457e0dd89a065312e42c2b6936689c7d66c15096d944137b4e8fccb7e03f67b6
7
+ data.tar.gz: 877cfb4136876e558f3406979c4f0b7c8ddd775b49df655ffbf20a94a8ea608a15084a55e60f18e267c4b577e258c31a42e69d0040845cb61ce4927dc0503744
@@ -167,7 +167,7 @@ module Agis
167
167
  else
168
168
  mc = @agis_methods[mns][:arity]
169
169
  mrm = @agis_methods[mns][:mode]
170
- meti = @agis_methods[mns][:method]
170
+ meti = @agis_methods[mns][:method]
171
171
  case meti
172
172
  when Proc
173
173
  met = meti
@@ -227,6 +227,16 @@ module Agis
227
227
  end
228
228
  end
229
229
 
230
+ def _agis_cleanup_when_empty(redis)
231
+ redis.del(self.agis_mailbox)
232
+ redis.srem("AGIS_MAILBOX_GLOBAL_LIST", self.agis_mailbox)
233
+ redis.srem("AGIS_MAILBOX_CLASS:" + self.class.to_s, self.agis_id_prelim)
234
+ if(redis.scard("AGIS_MAILBOX_CLASS:" + self.class.to_s) == 0)
235
+ redis.del("AGIS_MAILBOX_CLASS:" + self.class.to_s)
236
+ redis.srem("AGIS_MAILBOX_CLASSES", self.class.to_s)
237
+ end
238
+ end
239
+
230
240
  def _agis_crunch(redis, usig)
231
241
  loop do
232
242
  redis.lock(self.agis_boxlock, life: 10) do |lock|
@@ -234,6 +244,7 @@ module Agis
234
244
  next if lock.stale_key?
235
245
  u = agis_try_usig(redis, usig)
236
246
  if a == :empty
247
+ _agis_cleanup_when_empty(redis)
237
248
  raise Agis::MessageBoxEmpty unless u
238
249
  end
239
250
  return agis_fconv(u) if u
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gert Oja
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-26 00:00:00.000000000 Z
11
+ date: 2015-11-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -70,3 +70,4 @@ signing_key:
70
70
  specification_version: 4
71
71
  summary: Messagebox Redis Actors for Ruby
72
72
  test_files: []
73
+ has_rdoc: