mirror of
https://github.com/Freika/dawarich.git
synced 2026-01-10 17:21:38 -05:00
* Add yearly digest * Rename YearlyDigests to Users::Digests * Minor changes * Update yearly digest layout and styles * Add flags and chart to email * Update colors * Fix layout of stats in yearly digest view * Remove cron job for yearly digest scheduling * Update CHANGELOG.md * Update digest email setting handling * Allow sharing digest for 1 week or 1 month * Change Digests Distance to Bigint * Fix settings page
20 lines
610 B
Ruby
20 lines
610 B
Ruby
# frozen_string_literal: true
|
|
|
|
class Users::Digests::YearEndSchedulingJob < ApplicationJob
|
|
queue_as :digests
|
|
|
|
def perform
|
|
year = Time.current.year - 1 # Previous year's digest
|
|
|
|
::User.active_or_trial.find_each do |user|
|
|
# Skip if user has no data for the year
|
|
next unless user.stats.where(year: year).exists?
|
|
|
|
# Schedule calculation first
|
|
Users::Digests::CalculatingJob.perform_later(user.id, year)
|
|
|
|
# Schedule email with delay to allow calculation to complete
|
|
Users::Digests::EmailSendingJob.set(wait: 30.minutes).perform_later(user.id, year)
|
|
end
|
|
end
|
|
end
|