更新 sync_fgu_personal_data.gemspec

This commit is contained in:
junyi 2026-09-07 01:43:19 +00:00
parent f235436e19
commit f9f292c0c1
1 changed files with 28 additions and 24 deletions

View File

@ -34,30 +34,34 @@ if bundle_update_flag
puts "Installing tiny_tds gem ..."
bundler_with_clean_env{ system("gem install tiny_tds -- '--with-freetds-dir=#{home_path}/freetds-1.1.24_build'") }
end
crontab_sync = `crontab -l|grep 'bundle exec rake sync_fgu_personal_plugins:sync'|grep #{ENV['PWD']}`
sync_cron="0 0 * * * /bin/bash -l -c 'cd #{ENV['PWD']} && bundle exec rake sync_fgu_personal_plugins:sync > /dev/null'"
crontab_sync_jobs = crontab_sync.split("\n")
if crontab_sync_jobs.count == 0
%x(CRON="#{sync_cron}" && (crontab -l; echo "$CRON" ) | crontab -)
elsif crontab_sync_jobs.count > 1
crontab_jobs = `crontab -l`
crontab_sync_jobs[1..-1].each do |s|
crontab_jobs = crontab_jobs.sub(s,"")
end
%x(CRON="#{crontab_jobs}" && (echo "$CRON" ) | crontab -)
elsif crontab_sync_jobs[0][0...3] == "0 5" #replace old cronjob settings
crontab_jobs = `crontab -l`
crontab_jobs = crontab_jobs.sub(crontab_sync_jobs[0],sync_cron)
%x(CRON="#{crontab_jobs}" && (echo "$CRON" ) | crontab -)
elsif crontab_sync_jobs[0].include?("-23/12") #replace 12 hours to 24 hours
crontab_jobs = `crontab -l`
crontab_jobs = crontab_jobs.sub(crontab_sync_jobs[0],crontab_sync_jobs[0].sub("-23/12",""))
%x(CRON="#{crontab_jobs}" && (echo "$CRON" ) | crontab -)
elsif crontab_sync_jobs[0].include?("*/12") #replace 12 hours to 24 hours
crontab_jobs = `crontab -l`
crontab_jobs = crontab_jobs.sub(crontab_sync_jobs[0],crontab_sync_jobs[0].sub("*/12","0"))
%x(CRON="#{crontab_jobs}" && (echo "$CRON" ) | crontab -)
end
# ===== 自動寫入/修正 crontab 邏輯已停用 2026-09-07因多站台部署時間不同
# ===== 全數寫死排在 "0 0 * * *",造成 13+ 個站台的 sync 排程集中在同一分鐘,
# ===== 導致記憶體瞬間暴衝、mongod 被 OOM Killer 強制關閉。crontab 時間改為手動維護。
#
# crontab_sync = `crontab -l|grep 'bundle exec rake sync_fgu_personal_plugins:sync'|grep #{ENV['PWD']}`
# sync_cron="0 0 * * * /bin/bash -l -c 'cd #{ENV['PWD']} && bundle exec rake sync_fgu_personal_plugins:sync > /dev/null'"
# crontab_sync_jobs = crontab_sync.split("\n")
# if crontab_sync_jobs.count == 0
# %x(CRON="#{sync_cron}" && (crontab -l; echo "$CRON" ) | crontab -)
# elsif crontab_sync_jobs.count > 1
# crontab_jobs = `crontab -l`
# crontab_sync_jobs[1..-1].each do |s|
# crontab_jobs = crontab_jobs.sub(s,"")
# end
# %x(CRON="#{crontab_jobs}" && (echo "$CRON" ) | crontab -)
# elsif crontab_sync_jobs[0][0...3] == "0 5" #replace old cronjob settings
# crontab_jobs = `crontab -l`
# crontab_jobs = crontab_jobs.sub(crontab_sync_jobs[0],sync_cron)
# %x(CRON="#{crontab_jobs}" && (echo "$CRON" ) | crontab -)
# elsif crontab_sync_jobs[0].include?("-23/12") #replace 12 hours to 24 hours
# crontab_jobs = `crontab -l`
# crontab_jobs = crontab_jobs.sub(crontab_sync_jobs[0],crontab_sync_jobs[0].sub("-23/12",""))
# %x(CRON="#{crontab_jobs}" && (echo "$CRON" ) | crontab -)
# elsif crontab_sync_jobs[0].include?("*/12") #replace 12 hours to 24 hours
# crontab_jobs = `crontab -l`
# crontab_jobs = crontab_jobs.sub(crontab_sync_jobs[0],crontab_sync_jobs[0].sub("*/12","0"))
# %x(CRON="#{crontab_jobs}" && (echo "$CRON" ) | crontab -)
# end
end
# Describe your gem and declare its dependencies:
Gem::Specification.new do |spec|