Class: ScheduleWorkers::Partner::MongoDbSyncDataWorker

Inherits:
ApplicationWorker show all
Includes:
RollbarSynTokenSetterWorker
Defined in:
app/workers/schedule_workers/partner/mongo_db_sync_data_worker.rb

Instance Method Summary collapse

Methods inherited from ApplicationWorker

unlimited_retry

Instance Method Details

#performObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'app/workers/schedule_workers/partner/mongo_db_sync_data_worker.rb', line 9

def perform
  actor_restaurant_ids = Flipper[:mongo_db_sync_enabled].gate_values.actors.to_a
  return if actor_restaurant_ids.blank?

  time = Time.current

  Restaurant.active.not_expired.where(id: actor_restaurant_ids.compact).find_each do |restaurant|
    if restaurant.used_partner_portal?
      MongoDbSyncRestaurantDataWorker.perform_in(rand(1800).seconds, time, restaurant.id)
    else
      MongoDbSyncRestaurantDataWorker.perform_async(nil, restaurant.id, true, nil)

      # force mark used_partner_portal to true
      restaurant.update_column(:used_partner_portal, true)
    end
  end
end