cyclone_lariat 0.3.1 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -1
- data/Gemfile.lock +1 -1
- data/README.md +0 -1
- data/lib/cyclone_lariat/abstract/message.rb +7 -8
- data/lib/cyclone_lariat/messages_repo.rb +2 -0
- data/lib/cyclone_lariat/middleware.rb +7 -5
- data/lib/cyclone_lariat/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cebf79d1deb7a107446827a619897bf59364b89e8745fd767ed001bea3d6272
|
4
|
+
data.tar.gz: 6ff840519d31a46ab2f2ae6615176489041154213093052d5f924495dd537a20
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45eab91fdef2c3c97d6638bf2ec0bf5d83dbaa54b18037a8245d25f2142b4582d60cd771c758f6d9300b2ed51977ce430864606f9155b2a235592470e92db539
|
7
|
+
data.tar.gz: 2f58eef796c7e0c52b6f3b8e4341466f7c8baf77ca3a6ff482e4435bd4aad73c04e1a667f39a11d820e774421c58b0519ce8401bdd1984ad872178a85d92a034
|
data/CHANGELOG.md
CHANGED
@@ -4,7 +4,11 @@ All notable changes to this project will be documented in this file.
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
6
6
|
|
7
|
-
## [0.3.
|
7
|
+
## [0.3.2] - 2021-06-11
|
8
|
+
Changed
|
9
|
+
- Bugfix
|
10
|
+
|
11
|
+
## [0.3.1] - 2021-06-11
|
8
12
|
Changed
|
9
13
|
- Command
|
10
14
|
- SqsClient
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -159,7 +159,6 @@ class Receiver
|
|
159
159
|
queue: 'your_sqs_queue_name'
|
160
160
|
|
161
161
|
server_middleware do |chain|
|
162
|
-
|
163
162
|
# Options dataset, errors_notifier and message_notifier is optionals.
|
164
163
|
# If you dont define notifiers - middleware does not notify
|
165
164
|
# If you dont define dataset - middleware does store events in db
|
@@ -9,13 +9,8 @@ module CycloneLariat
|
|
9
9
|
attr :uuid, String, :new
|
10
10
|
attr :publisher, String, :new
|
11
11
|
attr :type, String, :new
|
12
|
-
|
13
|
-
|
14
|
-
attr :data
|
15
|
-
|
16
|
-
attr_reader :sent_at,
|
17
|
-
:processed_at,
|
18
|
-
:received_at
|
12
|
+
attrs :client_error, :version, :data,
|
13
|
+
:sent_at, :processed_at, :received_at
|
19
14
|
|
20
15
|
def kind
|
21
16
|
raise LunaPark::Errors::AbstractMethod
|
@@ -37,6 +32,10 @@ module CycloneLariat
|
|
37
32
|
@processed_at = wrap_time(value)
|
38
33
|
end
|
39
34
|
|
35
|
+
def processed?
|
36
|
+
!@processed_at.nil?
|
37
|
+
end
|
38
|
+
|
40
39
|
def client_error_message=(txt)
|
41
40
|
return unless txt
|
42
41
|
|
@@ -77,7 +76,7 @@ module CycloneLariat
|
|
77
76
|
when String then Time.parse(value)
|
78
77
|
when Time then value
|
79
78
|
when NilClass then nil
|
80
|
-
else raise
|
79
|
+
else raise ArgumentError, "Unknown type `#{value.class}`"
|
81
80
|
end
|
82
81
|
end
|
83
82
|
end
|
@@ -37,6 +37,8 @@ module CycloneLariat
|
|
37
37
|
|
38
38
|
def find(uuid:)
|
39
39
|
raw = dataset.where(uuid: uuid).first
|
40
|
+
return nil unless raw
|
41
|
+
|
40
42
|
raw[:data] = JSON.parse(raw[:data], symbolize_names: true)
|
41
43
|
if raw[:client_error_details]
|
42
44
|
raw[:client_error_details] = JSON.parse(raw[:client_error_details], symbolize_names: true)
|
@@ -20,8 +20,8 @@ module CycloneLariat
|
|
20
20
|
catch_standard_error(queue, msg) do
|
21
21
|
event = Event.wrap(msg)
|
22
22
|
|
23
|
-
|
24
|
-
|
23
|
+
store_in_dataset(event) do
|
24
|
+
catch_business_error(event, &block)
|
25
25
|
end
|
26
26
|
end
|
27
27
|
end
|
@@ -36,9 +36,11 @@ module CycloneLariat
|
|
36
36
|
|
37
37
|
def store_in_dataset(event)
|
38
38
|
return yield if events_repo.nil?
|
39
|
-
return true if events_repo.exists?(uuid: event.uuid)
|
40
39
|
|
41
|
-
events_repo.
|
40
|
+
existed = events_repo.find(uuid: event.uuid)
|
41
|
+
return true if existed&.processed?
|
42
|
+
|
43
|
+
events_repo.create(event) unless existed
|
42
44
|
yield
|
43
45
|
events_repo.processed! uuid: event.uuid, error: event.client_error
|
44
46
|
end
|
@@ -52,7 +54,7 @@ module CycloneLariat
|
|
52
54
|
|
53
55
|
def catch_standard_error(queue, msg)
|
54
56
|
yield
|
55
|
-
rescue
|
57
|
+
rescue Exception => e
|
56
58
|
errors_notifier&.error(e, queue: queue, message: msg)
|
57
59
|
raise e
|
58
60
|
end
|