Module: Zeridion::Flare::RecurringJob::ClassMacros

Defined in:
lib/zeridion_flare/worker/recurring_job.rb

Instance Method Summary collapse

Instance Method Details

#flare_cronObject



48
49
50
# File 'lib/zeridion_flare/worker/recurring_job.rb', line 48

def flare_cron
  @flare_cron
end

#flare_job_typeObject



52
53
54
55
# File 'lib/zeridion_flare/worker/recurring_job.rb', line 52

def flare_job_type
  @flare_job_type || name ||
    raise(ArgumentError, "anonymous recurring job class needs an explicit flare_options(job_type:)")
end

#flare_max_attemptsObject



65
66
67
# File 'lib/zeridion_flare/worker/recurring_job.rb', line 65

def flare_max_attempts
  @flare_max_attempts || 3
end

#flare_options(cron: nil, job_type: nil, queue: nil, timezone: nil, max_attempts: nil, timeout: nil) ⇒ Object

Parameters:

  • cron (String) (defaults to: nil)

    required cron expression (e.g. "0 3 * * *")

  • job_type (String, nil) (defaults to: nil)

    explicit routing type (default: class FQN)

  • queue (String) (defaults to: nil)
  • timezone (String) (defaults to: nil)

    IANA tz for the cron (default "UTC")

  • max_attempts (Integer) (defaults to: nil)
  • timeout (Integer) (defaults to: nil)

    seconds



38
39
40
41
42
43
44
45
46
# File 'lib/zeridion_flare/worker/recurring_job.rb', line 38

def flare_options(cron: nil, job_type: nil, queue: nil, timezone: nil, max_attempts: nil, timeout: nil)
  @flare_cron = cron unless cron.nil?
  @flare_job_type = job_type unless job_type.nil?
  @flare_queue = queue unless queue.nil?
  @flare_timezone = timezone unless timezone.nil?
  @flare_max_attempts = max_attempts unless max_attempts.nil?
  @flare_timeout = timeout unless timeout.nil?
  nil
end

#flare_queueObject



57
58
59
# File 'lib/zeridion_flare/worker/recurring_job.rb', line 57

def flare_queue
  @flare_queue || "default"
end

#flare_timeoutObject



69
70
71
# File 'lib/zeridion_flare/worker/recurring_job.rb', line 69

def flare_timeout
  @flare_timeout || 1800
end

#flare_timezoneObject



61
62
63
# File 'lib/zeridion_flare/worker/recurring_job.rb', line 61

def flare_timezone
  @flare_timezone || "UTC"
end