esse-redis_storage 0.1.0 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87dba08abdec3e21cda41dc59d5ee0ae68bcb5368ead487ba4f30158c5c04b3d
4
- data.tar.gz: 593a7649db186bca07494265f81dbc40704bfcae36b38b84826b2eea26a5a7b6
3
+ metadata.gz: ad734caa5a5772b8d7ba66bd2f40a031203b96edade5aa0547e5bf574c228094
4
+ data.tar.gz: 4efb7b6b025a32e69819f12902e97abc0fac887aaee7cf34082b8e6bcc77b50f
5
5
  SHA512:
6
- metadata.gz: d77fba357ac60699d7b32e81dce475ffa156fcb6d55df25bec6a887f0789672e304af25790ec6d5667ebece6471d79c7b2a010be02f65d6a44682099879f8e05
7
- data.tar.gz: f544947816a3b8b1a00bd2487c13130587274a7f80956ad43497fc4c58e805ba4b3556218af2270486bbdbd7ed5ac7e6f7f8def32a1a22866ac82896d95da68c
6
+ metadata.gz: 5e66697c37188316303ca3e9ce7466a3ae4a46255d33a75f6b4ed15c28b060cb7a3e1094b6bc2648238341becd6abb080175bcc0edf15d57e04b6fa8fcfd7ef6
7
+ data.tar.gz: 2e0991b872d1c15f07fd76398c0d52c01a934efada5a6b26ba1e04cfb7ecc3e66eb4e6362e011cfb39d8a3a385131a0d031ac7faeff5de2a83f28ea2493944e8
data/CHANGELOG.md CHANGED
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## 0.1.1 - 2024-08-06
8
+ * Add TTL to the enqueued items in the queue.
9
+ * Included current time in the rand batch id to be more human readable.
10
+
11
+ ## 0.1.0 - 2024-07-31
12
+ * Adjusting queue to allow to enqueue complex objects like Ruby hash and also preserve the primitive type.
13
+
7
14
  ## 0.0.2 - 2024-07-18
8
15
  * The `Esse::RedisStorage::Queue.for` method now support both `repo:` and `attribute_name:` options.
9
16
 
data/Gemfile.lock CHANGED
@@ -10,7 +10,7 @@ GIT
10
10
  PATH
11
11
  remote: .
12
12
  specs:
13
- esse-redis_storage (0.1.0)
13
+ esse-redis_storage (0.1.1)
14
14
  esse (>= 0.3.2)
15
15
  multi_json (>= 1.0.0)
16
16
  redis (>= 4.0.0)
@@ -13,7 +13,7 @@ module Esse
13
13
  attr_reader :name
14
14
 
15
15
  def self.batch_id
16
- SecureRandom.uuid
16
+ String.new(Time.now.strftime("%Y%m%d%H%M%S%L-")) << SecureRandom.hex(4)
17
17
  end
18
18
 
19
19
  def self.for(repo:, attribute_name: nil)
@@ -28,13 +28,14 @@ module Esse
28
28
  # Enqueue a batch of ids to process
29
29
  # @param id [String] The batch id
30
30
  # @param values [Array<String>] The values of the batch
31
- def enqueue(id: nil, values: [])
31
+ def enqueue(id: nil, values: [], ttl: nil)
32
32
  return if values.nil? || values.empty?
33
33
 
34
34
  values = ::Esse::ArrayUtils.wrap(values)
35
35
  batch_id = id || self.class.batch_id
36
36
  with do |conn|
37
37
  conn.hset(name, batch_id, ::MultiJson.dump(values))
38
+ conn.expire(name, ttl) if ttl
38
39
  end
39
40
  batch_id
40
41
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Esse
4
4
  module RedisStorage
5
- VERSION = "0.1.0"
5
+ VERSION = "0.1.1"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esse-redis_storage
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcos G. Zimmermann
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-31 00:00:00.000000000 Z
11
+ date: 2024-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: esse