Files
sure/app/jobs/sync_all_job.rb
Juan José Mata d6cbf300c7 Add scheduled job to sync all accounts every 24 hours (#330)
* Add scheduled job to sync all accounts every 30 minutes

Signed-off-by: Nikhil Badyal <nikhill773384@gmail.com>

* Change job queue from default to scheduled

Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>

* Flatten job into single directory

* Every 30 minutes is a bit much and will trigger Sentry warnings

* Locking and logging improvements

* Add support for extra Sidekiq goodies

---------

Signed-off-by: Nikhil Badyal <nikhill773384@gmail.com>
Signed-off-by: Juan José Mata <juanjo.mata@gmail.com>
Co-authored-by: Nikhil Badyal <nikhill773384@gmail.com>
2025-11-20 20:58:14 +01:00

15 lines
411 B
Ruby

class SyncAllJob < ApplicationJob
queue_as :scheduled
sidekiq_options lock: :until_executed, on_conflict: :log
def perform
Rails.logger.info("Starting sync for all families")
Family.find_each do |family|
family.sync_later
rescue => e
Rails.logger.error("Failed to sync family #{family.id}: #{e.message}")
end
Rails.logger.info("Completed sync for all families")
end
end