zuora_connect 1.7.17 → 1.7.18

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3b7117b0834f79dd45623ad1e9cf5b01b41782fd
4
- data.tar.gz: 21a969b576606ea7a52ef3cbf3664d6e90dc5bce
3
+ metadata.gz: 16272afa1f18fca253cf09ad9f4ede03f30ee9c4
4
+ data.tar.gz: afcf3723308cca26ef08e227c89baa155a44b06a
5
5
  SHA512:
6
- metadata.gz: e045e4d1f9b0d511a3c33a73f5a5077d0f3f6b4ffe1f9fa1b6d0f051d08ac97ee41ef504dbf6f87c8b5363a84aa7fcba4f8c017f09afc12b8031d47958a75491
7
- data.tar.gz: 4351586da2d9ceaa593b9b48788cfdc72e4e9e7ebcb035cf5319642b6a2a70b818c1ea03c4961d026387742046d9d371f607a6e00b41f0ce13ce441f6e4f6ff6
6
+ metadata.gz: 9ff95e609a141a89a54daa50ecb91c8cb60bab9a028e1a590ef4aba2707d54540bfbef8e71403e9d5421a9d9f97a8f17d0396fc28d106a94ce7f7b8b4012b032
7
+ data.tar.gz: f8fb72d93ca158707ef2bd1a747602900f0758e3ea5234468737b802af505e706a55d601cbcf32b52f4658ff74b6a3631bff8ea152211c210a2a2e50ea2435ea
@@ -464,33 +464,40 @@ module ZuoraConnect
464
464
  ### START Resque Helping Methods ####
465
465
  def api_limit(start: true, time: API_LIMIT_TIMEOUT.to_i)
466
466
  if start
467
- Redis.current.setex("APILimits:#{self.id}", time, true)
467
+ # Redis.current.setex("APILimits:#{self.id}", time, true)
468
+ Redis.current.zadd("APILimits", Time.now.to_i + time, self.id)
468
469
  else
469
- Redis.current.del("APILimits:#{self.id}")
470
+ # Redis.current.del("APILimits:#{self.id}")
471
+ Redis.current.zrem("APILimits", self.id)
470
472
  end
471
473
  end
472
474
 
473
475
  def api_limit?
474
- return Redis.current.get("APILimits:#{self.id}").to_bool
476
+ Redis.current.zremrangebyscore("APILimits", "0", "(#{Time.now.to_i}")
477
+ return Redis.current.zscore("APILimits", self.id).present?
475
478
  end
476
479
 
477
480
  def queue_paused?
478
- return Redis.current.get("resque:PauseQueue:#{self.id}").present?
481
+ Redis.current.zremrangebyscore("resque:PauseQueue", "0", "(#{Time.now.to_i}")
482
+ return Redis.current.zrange("resque:PauseQueue", 0, -1).map {|key| key.split("__")[0]}.include?(self.id.to_s)
479
483
  end
480
484
 
481
485
  def queue_pause(time: nil, current_user: 'Default')
486
+ key = "#{self.id}__#{current_user}"
482
487
  if time.present?
483
488
  raise "Time must be fixnum of seconds." if time.class != Fixnum
484
- Redis.current.setex("resque:PauseQueue:#{self.id}", time, current_user)
489
+ # Redis.current.setex("resque:PauseQueue:#{self.id}", time, current_user)
490
+ Redis.current.zadd("resque:PauseQueue", Time.now.to_i + time, key)
485
491
  else
486
- Redis.current.set("resque:PauseQueue:#{self.id}", current_user)
492
+ # Redis.current.set("resque:PauseQueue:#{self.id}", current_user)
493
+ Redis.current.zadd("resque:PauseQueue", 9999999999, key)
487
494
  end
488
495
  end
489
496
 
490
497
  def queue_start(current_user: 'Default')
491
- paused_user = Redis.current.get("resque:PauseQueue:#{self.id}")
498
+ paused_user = Redis.current.zrange("resque:PauseQueue", 0, -1).map {|key| key.split("__")[0] == "#{self.id}" ? key.split("__")[1] : nil}.compact.first
492
499
  if paused_user == current_user || paused_user.blank?
493
- Redis.current.del("resque:PauseQueue:#{self.id}")
500
+ Redis.current.zrem("resque:PauseQueue", "#{self.id}__#{paused_user}")
494
501
  else
495
502
  raise "Can only unpause for user #{paused_user}."
496
503
  end
@@ -89,11 +89,13 @@ module Resque
89
89
  matched_queues = []
90
90
 
91
91
  #Remove Queues under Api Limits
92
- api_limit_instances = Redis.current.keys('APILimits:*').map {|key| key.split('APILimits:').last.to_i}
92
+ Redis.current.zremrangebyscore("APILimits", "0", "(#{Time.now.to_i}")
93
+ api_limit_instances = Redis.current.zrange("APILimits", 0, -1).map {|key| key.to_i}
93
94
  real_queues = real_queues.select {|key| key if !api_limit_instances.include?((key.match(/^(\d*)_.*/) || [])[1].to_i)} ## 2
94
95
 
95
96
  #Queue Pausing
96
- paused_instances = Redis.current.keys('resque:PauseQueue:*').map {|key| key.split('resque:PauseQueue:').last.to_i}
97
+ Redis.current.zremrangebyscore("resque:PauseQueue", "0", "(#{Time.now.to_i}")
98
+ paused_instances = Redis.current.zrange("resque:PauseQueue", 0, -1).map {|key| key.split("__")[0].to_i}
97
99
  real_queues = real_queues.select {|key| key if !paused_instances.include?((key.match(/^(\d*)_.*/) || [])[1].to_i)}
98
100
 
99
101
  while q = queue_names.shift
@@ -1,3 +1,3 @@
1
1
  module ZuoraConnect
2
- VERSION = "1.7.17"
2
+ VERSION = "1.7.18"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zuora_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.17
4
+ version: 1.7.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Connect Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-05 00:00:00.000000000 Z
11
+ date: 2018-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: apartment