From 6019bf3d299de807cbbc0e343608af2b1f440714 Mon Sep 17 00:00:00 2001 From: rulingcom Date: Thu, 8 Oct 2026 10:24:04 +0800 Subject: [PATCH] =?UTF-8?q?scheduler=20=E5=8A=A0=20lockfile=20=E4=B8=A6?= =?UTF-8?q?=E6=94=B9=E7=82=BA=E8=A1=8C=E7=A8=8B=E5=85=A7=E5=88=AA=E9=99=A4?= =?UTF-8?q?=E9=A0=90=E8=A6=BD=E8=B3=87=E6=96=99=EF=BC=9B=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=20rake=20=E8=AA=A4=E5=88=AA=20EventNews=20=E6=94=B9=E7=82=BA?= =?UTF-8?q?=20Recruitment=EF=BC=8C=E7=A7=BB=E9=99=A4=E9=87=8D=E8=A4=87?= =?UTF-8?q?=E5=AE=9A=E7=BE=A9=E7=9A=84=20event=5Fnews=5Ftasks.rake?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/initializers/scheduler.rb | 18 +++++++++--------- lib/tasks/event_news_tasks.rake | 8 -------- lib/tasks/recruitment_tasks.rake | 4 ++-- 3 files changed, 11 insertions(+), 19 deletions(-) delete mode 100644 lib/tasks/event_news_tasks.rake diff --git a/config/initializers/scheduler.rb b/config/initializers/scheduler.rb index bec2587..952ba10 100644 --- a/config/initializers/scheduler.rb +++ b/config/initializers/scheduler.rb @@ -1,9 +1,9 @@ -require 'rufus-scheduler' - -scheduler = Rufus::Scheduler.new - -#return if defined?(Rails::Console) || Rails.env.test? || File.split($0).last == 'rake' - -scheduler.cron '43 2 * * *' do - system('bundle exec rake recruitment:remove_preview_recruitment') -end +require 'rufus-scheduler' + +unless defined?(Rails::Console) || Rails.env.test? || File.split($0).last == 'rake' + scheduler = Rufus::Scheduler.new(lockfile: Rails.root.join('tmp', 'recruitment_scheduler.lock').to_s) + + scheduler.cron '43 2 * * *' do + Recruitment.where(is_preview: true).destroy_all + end +end diff --git a/lib/tasks/event_news_tasks.rake b/lib/tasks/event_news_tasks.rake deleted file mode 100644 index fbee4c0..0000000 --- a/lib/tasks/event_news_tasks.rake +++ /dev/null @@ -1,8 +0,0 @@ -desc 'Remove duplicated EventNews created by preview' - -namespace :recruitment do - task :remove_preview_recruitment => [:environment] do - recruitment = EventNews.where(is_preview: true) - recruitment.destroy_all - end -end diff --git a/lib/tasks/recruitment_tasks.rake b/lib/tasks/recruitment_tasks.rake index fbee4c0..234786a 100644 --- a/lib/tasks/recruitment_tasks.rake +++ b/lib/tasks/recruitment_tasks.rake @@ -1,8 +1,8 @@ -desc 'Remove duplicated EventNews created by preview' +desc 'Remove duplicated Recruitment created by preview' namespace :recruitment do task :remove_preview_recruitment => [:environment] do - recruitment = EventNews.where(is_preview: true) + recruitment = Recruitment.where(is_preview: true) recruitment.destroy_all end end