Module: RedisQueue::RestoreBackupLimit

Included in:
Base
Defined in:
lib/redis-call/redis_queue.rb

Constant Summary collapse

BACKUP_LIMIT =
3
BACKUP_COUNT_KEY =
:redis_queue_backup_retry_count

Instance Method Summary collapse

Instance Method Details

#filter_backup_element(element) ⇒ Object



212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
# File 'lib/redis-call/redis_queue.rb', line 212

def filter_backup_element element
  result = decode_json(element)
  
  if result.is_a?(Hash)
    result[BACKUP_COUNT_KEY] ||= 0
    result[BACKUP_COUNT_KEY] += 1
    
    if result[BACKUP_COUNT_KEY] > BACKUP_LIMIT
      error_push_raw encode_json(result)
      return nil
    else
      return encode_json(result)
    end
    
  else
    element
  end
end