From a0de016e1c6bb2fb8a2fbb1bb358ee5a3f015359 Mon Sep 17 00:00:00 2001 From: Sebastian Kippe Date: Sun, 5 Dec 2021 16:27:05 -0600 Subject: [PATCH] Add single sidekiq process for new scheduler queue --- .../kosmos-mastodon/recipes/default.rb | 16 ++++++++++++++++ ...stodon-sidekiq-scheduler.systemd.service.erb | 17 +++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 site-cookbooks/kosmos-mastodon/templates/default/mastodon-sidekiq-scheduler.systemd.service.erb diff --git a/site-cookbooks/kosmos-mastodon/recipes/default.rb b/site-cookbooks/kosmos-mastodon/recipes/default.rb index e37d03b..ccb999d 100644 --- a/site-cookbooks/kosmos-mastodon/recipes/default.rb +++ b/site-cookbooks/kosmos-mastodon/recipes/default.rb @@ -77,6 +77,18 @@ template "/lib/systemd/system/mastodon-sidekiq.service" do notifies :restart, "service[mastodon-sidekiq]", :delayed end +# mastodon-sidekiq-scheduler service +# +template "/lib/systemd/system/mastodon-sidekiq-scheduler.service" do + source "mastodon-sidekiq-scheduler.systemd.service.erb" + variables user: mastodon_user, + app_dir: mastodon_path, + bundle_path: "/opt/ruby_build/builds/#{ruby_version}/bin/bundle", + sidekiq_threads: 1 + notifies :run, "execute[systemctl daemon-reload]", :immediately + notifies :restart, "service[mastodon-sidekiq-scheduler]", :delayed +end + # mastodon-streaming service # template "/lib/systemd/system/mastodon-streaming.service" do @@ -176,6 +188,10 @@ application mastodon_path do action [:enable, :start] end + service "mastodon-sidekiq-scheduler" do + action [:enable, :start] + end + service "mastodon-streaming" do action [:enable, :start] end diff --git a/site-cookbooks/kosmos-mastodon/templates/default/mastodon-sidekiq-scheduler.systemd.service.erb b/site-cookbooks/kosmos-mastodon/templates/default/mastodon-sidekiq-scheduler.systemd.service.erb new file mode 100644 index 0000000..238855d --- /dev/null +++ b/site-cookbooks/kosmos-mastodon/templates/default/mastodon-sidekiq-scheduler.systemd.service.erb @@ -0,0 +1,17 @@ +[Unit] +Description=mastodon-sidekiq-scheduler +Requires=redis-server.service +After=redis-server.service + +[Service] +Type=simple +User=<%= @user %> +WorkingDirectory=<%= @app_dir %> +Environment="RAILS_ENV=production" +Environment="LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1" +ExecStart=<%= @bundle_path %> exec sidekiq -c <%= @sidekiq_threads %> -q scheduler +TimeoutSec=15 +Restart=always + +[Install] +WantedBy=multi-user.target