From 01549dbd2e48dd0e6f0273d87a5a0c82ac1a983d Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Tue, 21 Jul 2020 19:03:28 +0100 Subject: [PATCH 1/1] Replace cron.d templates with cron_d resources --- cookbooks/mediawiki/resources/site.rb | 56 ++++++++++++++++--- .../templates/default/mediawiki.cron.erb | 12 ---- 2 files changed, 48 insertions(+), 20 deletions(-) delete mode 100644 cookbooks/mediawiki/templates/default/mediawiki.cron.erb diff --git a/cookbooks/mediawiki/resources/site.rb b/cookbooks/mediawiki/resources/site.rb index 323e33259..33c31e114 100644 --- a/cookbooks/mediawiki/resources/site.rb +++ b/cookbooks/mediawiki/resources/site.rb @@ -175,14 +175,54 @@ action :create do notifies :run, "execute[#{mediawiki_directory}/maintenance/update.php]" end - template "/etc/cron.d/mediawiki-#{cron_name}" do - cookbook "mediawiki" - source "mediawiki.cron.erb" - owner "root" - group "root" - mode 0o644 - variables :name => new_resource.site, :directory => site_directory, - :user => node[:mediawiki][:user] + file "/etc/cron.d/mediawiki-#{cron_name}" do + action :delete + end + + cron_d "mediawiki-#{cron_name}-sitemap" do + comment "Generate sitemap.xml daily" + minute "30" + hour "0" + user node[:mediawiki][:user] + command "/usr/bin/nice /usr/bin/php -d memory_limit=2048M -d error_reporting=22517 #{site_directory}/w/maintenance/generateSitemap.php --server=https://#{new_resource.site} --urlpath=https://#{new_resource.site}/ --fspath=#{site_directory} --quiet --skip-redirects" + end + + cron_d "mediawiki-#{cron_name}-jobs" do + comment "Run mediawiki jobs" + minute "*/3" + user node[:mediawiki][:user] + command "/usr/bin/nice /usr/bin/php -d memory_limit=2048M -d error_reporting=22517 #{site_directory}/w/maintenance/runJobs.php --server=https://#{new_resource.site} --maxtime=160 --memory-limit=2048M --procs=8 --quiet" + end + + cron_d "mediawiki-#{cron_name}-email-jobs" do + comment "Run mediawiki email jobs" + user node[:mediawiki][:user] + command "/usr/bin/nice /usr/bin/php -d memory_limit=2048M -d error_reporting=22517 #{site_directory}/w/maintenance/runJobs.php --server=https://#{new_resource.site} --maxtime=30 --type=enotifNotify --memory-limit=2048M --procs=4 --quiet" + end + + cron_d "mediawiki-#{cron_name}-refresh-links" do + comment "Run mediawiki refresh links table weekly" + minute "5" + hour "0" + weekday "0" + user node[:mediawiki][:user] + command "/usr/bin/nice /usr/bin/php -d memory_limit=2048M -d error_reporting=22517 #{site_directory}/w/maintenance/refreshLinks.php --server=https://#{new_resource.site} --memory-limit=2048M --quiet" + end + + cron_d "mediawiki-#{cron_name}-cleanup-gs" do + comment "Clean up imagemagick garbage" + minute "10" + hour "2" + user node[:mediawiki][:user] + command "/usr/bin/find /tmp/ -maxdepth 1 -type f -user www-data -mmin +90 -name 'gs_*' -delete" + end + + cron_d "mediawiki-#{cron_name}-cleanup-magick" do + comment "Clean up imagemagick garbage" + minute "20" + hour "2" + user node[:mediawiki][:user] + command "/usr/bin/find /tmp/ -maxdepth 1 -type f -user www-data -mmin +90 -name 'magick-*' -delete" end template "/etc/cron.daily/mediawiki-#{cron_name}-backup" do diff --git a/cookbooks/mediawiki/templates/default/mediawiki.cron.erb b/cookbooks/mediawiki/templates/default/mediawiki.cron.erb deleted file mode 100644 index 36d740b55..000000000 --- a/cookbooks/mediawiki/templates/default/mediawiki.cron.erb +++ /dev/null @@ -1,12 +0,0 @@ -# Generate sitemap.xml daily -30 0 * * * <%= @user %> /usr/bin/nice /usr/bin/php -d memory_limit=2048M -d error_reporting=22517 <%= @directory %>/w/maintenance/generateSitemap.php --server="https://<%= @name %>" --urlpath="https://<%= @name %>/" --fspath="<%= @directory %>" --quiet --skip-redirects -# Run mediawiki jobs -*/3 * * * * <%= @user %> /usr/bin/nice /usr/bin/php -d memory_limit=2048M -d error_reporting=22517 <%= @directory %>/w/maintenance/runJobs.php --server="https://<%= @name %>" --maxtime=160 --memory-limit=2048M --procs=8 --quiet -# Run mediawiki email jobs -* * * * * <%= @user %> /usr/bin/nice /usr/bin/php -d memory_limit=2048M -d error_reporting=22517 <%= @directory %>/w/maintenance/runJobs.php --server="https://<%= @name %>" --maxtime=30 --type=enotifNotify --memory-limit=2048M --procs=4 --quiet -# Run mediawiki refresh links table weekly -5 0 * * 0 <%= @user %> /usr/bin/nice /usr/bin/php -d memory_limit=2048M -d error_reporting=22517 <%= @directory %>/w/maintenance/refreshLinks.php --server="https://<%= @name %>" --memory-limit=2048M --quiet - -# Clean up imagemagic garbage -10 2 * * * <%= @user %> /usr/bin/find /tmp/ -maxdepth 1 -type f -user www-data -mmin +90 -name 'gs_*' -delete -20 2 * * * <%= @user %> /usr/bin/find /tmp/ -maxdepth 1 -type f -user www-data -mmin +90 -name 'magick-*' -delete -- 2.39.5