lib/tobox/plugins/progress.rb in tobox-0.6.1 vs lib/tobox/plugins/progress.rb in tobox-0.7.0

- old
+ new

@@ -9,20 +9,27 @@ module FetcherMethods private def do_fetch_events - # mark events as invisible by using run_at as a visibility timeout + # mark events as invisible + + # @type var mark_as_fetched_params: Hash[Symbol, untyped] mark_as_fetched_params = { - run_at: Sequel.date_add( - Sequel::CURRENT_TIMESTAMP, - seconds: @configuration[:visibility_timeout] - ), - attempts: Sequel[@table][:attempts] + 1, last_error: nil } + mark_as_fetched_params[@attempts_column] = Sequel[@table][@attempts_column] + 1 if @attempts_column + mark_as_fetched_params[@visibility_column] = if @configuration.visibility_type_bool? + true + else + Sequel.date_add( + Sequel::CURRENT_TIMESTAMP, + seconds: @configuration[:visibility_timeout] + ) + end + if @ds.supports_returning?(:update) @ds.where(id: fetch_event_ids).returning.update(mark_as_fetched_params) else event_ids = fetch_event_ids.select_map(:id) events_ds = @ds.where(id: event_ids) @@ -34,10 +41,10 @@ def calculate_event_retry_interval(attempts) super(attempts - 1) end def set_event_retry_attempts(event, update_params) - update_params.delete(:attempts) + update_params.delete(@attempts_column) super end def events_tr yield