dataoperations-aggregate 0.0.3 → 0.0.5

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dataoperations-aggregate.rb +12 -10
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: af4af69996bbbaf33b749eded827f3d6f695e44bfcd1be0bda98ed8e027cd0f1
4
- data.tar.gz: 94d67f60c8ff46462c84a9d0a186c6d240d99ca533d4db624cef97895efc5050
3
+ metadata.gz: 641acf44ae266d4790320ae506cc968b20fe9fdcbc63b7fb50b0cb41c13a77b6
4
+ data.tar.gz: adeed75be0d03687fa1700e3ee5c8048885a904b0e8ad5667969328e8a4472a0
5
5
  SHA512:
6
- metadata.gz: a4cfe7be327d99b497d134d3ea3fad255aa46a8bf5b0153f96e5d2cd49bcc41ff444ada6b0cc08d2c0f2a398ff90f447f1959f7945dc3e0b8f506c1a90321c09
7
- data.tar.gz: 754c6c3920f28c29d9c03dbd7a1c5a00fbd71f560f72e8e000dca1b7eb68283c61ca85e6bfde1a689d68dd1d2953d593549aa0ec72dc37573feddd3320ffce1b
6
+ metadata.gz: 3b7f039bc8f7046051a8150576eb6a29ba10edb6287251bd0980a211eecec41b69bcda10dde9cf8d920f5dcf07c7be1752b2b211dda5419f7fd7c5686cfd0195
7
+ data.tar.gz: 12f5981b5fc696c4cb0b36a68dd38a5ad814085bf8f3aded30cfb2e2446607f0971a6adc9220cb29f3615ca44a9673c8dcac18f8d825bd1a28755bdb4e92a3cd
@@ -72,6 +72,7 @@ module DataOperations
72
72
  end
73
73
  end
74
74
 
75
+ @aggregator_mutex = Mutex.new
75
76
  # TODO:
76
77
  # - Duplicate intervals - Done
77
78
  # - Sort intervals - Done
@@ -116,14 +117,14 @@ module DataOperations
116
117
  aggregator_item['aggregate_fields'] = aggregate_detail
117
118
  aggregator_item['intervals'] = interval_detail
118
119
 
119
- @aggregator[hash_group_key] = aggregator_item
120
+ @aggregator_mutex.synchronize {@aggregator[hash_group_key] = aggregator_item}
120
121
  end
121
122
 
122
123
  if !aggregator_item['aggregate_fields'].key?(aggregator_hash_key)
123
124
  hash_aggregator = {}
124
125
  hash_aggregator[:time_started] = Time.now.to_i
125
126
  hash_aggregator['processed'] = 1
126
- aggregator_item['aggregate_fields'][aggregator_hash_key] = hash_aggregator
127
+ @aggregator_mutex.synchronize {aggregator_item['aggregate_fields'][aggregator_hash_key] = hash_aggregator}
127
128
  else
128
129
  aggregator_item['aggregate_fields'][aggregator_hash_key]['processed'] += 1
129
130
  end
@@ -150,14 +151,15 @@ module DataOperations
150
151
  aggregate_data = {}
151
152
 
152
153
  # @log.debug @aggregator
153
- # @aggregator_mutex.synchronize do
154
- current_time = Time.now.to_i
155
- @aggregator.each do |group_item_key, group_item_value|
156
- aggregate_first_interval(aggregate_data, current_time, group_item_value)
157
-
158
- # Calculate subsecuents aggregations
159
- group_item_value['intervals'].keys[1..-1].each do |s_interval|
160
- aggregate_subsequents_intervals(aggregate_data, current_time, group_item_value, s_interval)
154
+ @aggregator_mutex.synchronize do
155
+ current_time = Time.now.to_i
156
+ @aggregator.each do |group_item_key, group_item_value|
157
+ aggregate_first_interval(aggregate_data, current_time, group_item_value)
158
+
159
+ # Calculate subsecuents aggregations
160
+ group_item_value['intervals'].keys[1..-1].each do |s_interval|
161
+ aggregate_subsequents_intervals(aggregate_data, current_time, group_item_value, s_interval)
162
+ end
161
163
  end
162
164
  end
163
165
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dataoperations-aggregate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Guillen