Class: SeoCloudflareSyncWorker
- Inherits:
-
Object
- Object
- SeoCloudflareSyncWorker
- Includes:
- Sidekiq::Job, Sidekiq::Status::Worker
- Defined in:
- app/workers/seo_cloudflare_sync_worker.rb
Overview
Syncs per-page edge request counts from Cloudflare analytics.
Cloudflare counts every request at the edge — bots, cache hits, and clients
with JavaScript disabled — so this is a ground-truth traffic measure that
complements the JS-dependent visit counts from SeoVisitsSyncWorker.
Writes cloudflare_requests data points to site_map_data_points.
Scheduled nightly at 2:40 AM CT via sidekiq_production_schedule.yml.
Instance Method Summary collapse
Instance Method Details
#perform(options = {}) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/workers/seo_cloudflare_sync_worker.rb', line 19 def perform( = {}) total 2 at 1, 'Syncing Cloudflare edge request counts...' opts = .symbolize_keys.slice(:start_date, :end_date) result = Seo::CloudflareSyncService.new(opts).process at 2, 'Complete' store info_message: "Cloudflare: #{result[:pages_updated]} pages updated" store pages_updated: result[:pages_updated] store errors: result[:errors] Rails.logger.info "[SeoCloudflareSyncWorker] Completed: #{result[:pages_updated]} pages" rescue StandardError => e Rails.logger.error "[SeoCloudflareSyncWorker] Failed: #{e.}" store info_message: "Cloudflare sync failed: #{e.}" raise end |