@@ -59,7 +59,7 @@ module Dumpers
59
59
# end
60
60
# end
61
61
#
62
- # dumper.process!(counter, Date.yesterday)
62
+ # dumper.process!(counter, date: Date.yesterday)
63
63
#
64
64
# В результате все данные счетчика за вчера, будут
65
65
# смерджены в целевые таблицы, по ключевым полям: company_id и date,
@@ -100,7 +100,7 @@ class Engine
100
100
attr_accessor :common_params
101
101
102
102
attr_reader :counter
103
- attr_reader :date
103
+ attr_reader :args
104
104
105
105
# callbacks
106
106
@@ -127,12 +127,13 @@ class Engine
127
127
# Public: Производит перенос данных счетчика.
128
128
#
129
129
# counter - экземпляр счетчика.
130
- # date - Date - дата, за которую производится перенос данных.
130
+ # args - Hash - набор аргументов(кластер и/или партиции) для переноса данных.
131
131
#
132
132
# Returns Fixnum - кол-во обработанных строк.
133
133
#
134
- def process! ( counter , date )
135
- @counter , @date = counter , date
134
+ def process! ( counter , args = { } )
135
+ @counter = counter
136
+ @args = args
136
137
137
138
db_transaction do
138
139
merge_data
@@ -185,7 +186,7 @@ def merge_data
185
186
end
186
187
187
188
def fill_temp_table
188
- @rows_processed = counter . data ( :date => formatted_date ) do |batch |
189
+ @rows_processed = counter . data ( args ) do |batch |
189
190
@current_batch = batch
190
191
prepare_batch
191
192
insert_batch
@@ -225,8 +226,8 @@ def batch_data
225
226
226
227
def delete_from_redis
227
228
redis_session . pipelined do |redis |
228
- counter . partitions ( :date => formatted_date ) . each do |partition |
229
- counter . delete_partition_direct! ( partition , redis )
229
+ counter . partitions ( args ) . each do |partition |
230
+ counter . delete_partition_direct! ( args . merge ( partition ) , redis )
230
231
end
231
232
end
232
233
@@ -283,10 +284,6 @@ def columns_definition
283
284
end . join ( ',' )
284
285
end
285
286
286
- def formatted_date
287
- date . strftime ( DATE_FORMAT )
288
- end
289
-
290
287
def db_connection
291
288
destinations . first . connection
292
289
end
0 commit comments