95 lines
2.4 KiB
Ruby
95 lines
2.4 KiB
Ruby
|
# Copyright (C) 2012-2022 Zammad Foundation, https://zammad-foundation.org/
|
||
|
|
||
|
class SchedulerUpdates < ActiveRecord::Migration[6.0]
|
||
|
def change
|
||
|
return if !Setting.exists?(name: 'system_init_done')
|
||
|
|
||
|
schedulers_update = [
|
||
|
{
|
||
|
name: 'Clean up ActiveJob locks.',
|
||
|
method: 'ActiveJobLockCleanupJob.perform_now',
|
||
|
},
|
||
|
{
|
||
|
name: "Clean up 'HttpLog'.",
|
||
|
method: 'HttpLog.cleanup',
|
||
|
},
|
||
|
{
|
||
|
name: 'Clean up closed sessions.',
|
||
|
method: 'Chat.cleanup',
|
||
|
},
|
||
|
{
|
||
|
name: 'Clean up dead sessions.',
|
||
|
method: 'SessionTimeoutJob.perform_now',
|
||
|
},
|
||
|
{
|
||
|
name: 'Clean up expired sessions.',
|
||
|
method: 'SessionHelper.cleanup_expired',
|
||
|
},
|
||
|
{
|
||
|
name: 'Close chat sessions where participants are offline.',
|
||
|
method: 'Chat.cleanup_close',
|
||
|
},
|
||
|
{
|
||
|
name: "Generate 'Session' data.",
|
||
|
method: 'Sessions.jobs',
|
||
|
},
|
||
|
{
|
||
|
name: 'Generate user-based stats.',
|
||
|
method: 'Stats.generate',
|
||
|
},
|
||
|
{
|
||
|
name: 'Sync calendars with iCal feeds.',
|
||
|
method: 'Calendar.sync',
|
||
|
},
|
||
|
{
|
||
|
name: "Clean up 'Cti::Log.'",
|
||
|
method: 'Cti::Log.cleanup',
|
||
|
},
|
||
|
{
|
||
|
name: 'Execute import jobs.',
|
||
|
method: 'ImportJob.start_registered',
|
||
|
},
|
||
|
{
|
||
|
name: 'Process pending tickets.',
|
||
|
method: 'Ticket.process_pending',
|
||
|
},
|
||
|
{
|
||
|
name: 'Process ticket escalations.',
|
||
|
method: 'Ticket.process_escalation',
|
||
|
},
|
||
|
{
|
||
|
name: 'Process automatic ticket unassignments.',
|
||
|
method: 'Ticket.process_auto_unassign',
|
||
|
},
|
||
|
{
|
||
|
name: 'Check channels.',
|
||
|
method: 'Channel.fetch',
|
||
|
},
|
||
|
{
|
||
|
name: "Check 'Channel' streams.",
|
||
|
method: 'Channel.stream',
|
||
|
},
|
||
|
{
|
||
|
name: 'Execute planned jobs.',
|
||
|
method: 'Job.run',
|
||
|
},
|
||
|
{
|
||
|
name: "Delete old 'RecentView' entries.",
|
||
|
method: 'RecentView.cleanup',
|
||
|
},
|
||
|
]
|
||
|
|
||
|
schedulers_update.each do |scheduler|
|
||
|
fetched_scheduler = Scheduler.find_by(method: scheduler[:method])
|
||
|
next if !fetched_scheduler
|
||
|
|
||
|
if scheduler[:name]
|
||
|
# p "Updating name of #{scheduler[:name]} to #{scheduler[:name]}"
|
||
|
fetched_scheduler.name = scheduler[:name]
|
||
|
end
|
||
|
|
||
|
fetched_scheduler.save!
|
||
|
end
|
||
|
end
|
||
|
end
|