]> git.openstreetmap.org Git - chef.git/commitdiff
Prevent multiple low zoom renders running together
authorTom Hughes <tom@compton.nu>
Wed, 3 Feb 2021 15:43:12 +0000 (15:43 +0000)
committerTom Hughes <tom@compton.nu>
Sat, 6 Feb 2021 17:34:31 +0000 (17:34 +0000)
cookbooks/systemd/resources/service.rb
cookbooks/systemd/templates/default/service.erb
cookbooks/tile/recipes/default.rb

index 26cce29787447d617fe5d58c3382b72efb23a04b..62c9596921cf4c04972ec49cff4ae377f367e6b0 100644 (file)
@@ -22,7 +22,10 @@ default_action :create
 property :service, String, :name_property => true
 property :dropin, String
 property :description, String
 property :service, String, :name_property => true
 property :dropin, String
 property :description, String
+property :condition_path_exists, [String, Array]
+property :condition_path_exists_glob, [String, Array]
 property :after, [String, Array]
 property :after, [String, Array]
+property :conflicts, [String, Array]
 property :wants, [String, Array]
 property :type, String, :is => %w[simple forking oneshot dbus notify idle]
 property :limit_nofile, Integer
 property :wants, [String, Array]
 property :type, String, :is => %w[simple forking oneshot dbus notify idle]
 property :limit_nofile, Integer
index 6d8a603cc0c01a92c84f71dab81794ecacaedafd..eff7b83084cf19ce694b5a30903f45020b370666 100644 (file)
@@ -4,9 +4,18 @@
 <% if @description -%>
 Description=<%= @description %>
 <% end -%>
 <% if @description -%>
 Description=<%= @description %>
 <% end -%>
+<% if @condition_path_exists -%>
+ConditionPathExists=<%= Array(@condition_path_exists).join(" ") %>
+<% end -%>
+<% if @condition_path_exists_glob -%>
+ConditionPathExistsGlob=<%= Array(@condition_path_exists_glob).join(" ") %>
+<% end -%>
 <% if @after -%>
 After=<%= Array(@after).join(" ") %>
 <% end -%>
 <% if @after -%>
 After=<%= Array(@after).join(" ") %>
 <% end -%>
+<% if @conflicts -%>
+Conflicts=<%= Array(@conflicts).join(" ") %>
+<% end -%>
 <% if @wants -%>
 Wants=<%= Array(@wants).join(" ") %>
 <% end -%>
 <% if @wants -%>
 Wants=<%= Array(@wants).join(" ") %>
 <% end -%>
index 5299a3e381fe614b3dbc4941f9d1459f36bd4421..7d5052fc2822b388146bd667b0c3d27093df7657 100644 (file)
@@ -274,8 +274,10 @@ nodejs_package "carto"
 
 systemd_service "update-lowzoom@" do
   description "Low zoom tile update service for %i layer"
 
 systemd_service "update-lowzoom@" do
   description "Low zoom tile update service for %i layer"
+  conflicts "render-lowzoom.service"
   user "tile"
   exec_start "/bin/bash /usr/local/bin/update-lowzoom-%i"
   user "tile"
   exec_start "/bin/bash /usr/local/bin/update-lowzoom-%i"
+  runtime_directory "update-lowzoom-%i"
   private_tmp true
   private_devices true
   private_network true
   private_tmp true
   private_devices true
   private_network true
@@ -578,6 +580,7 @@ end
 
 systemd_service "render-lowzoom" do
   description "Render low zoom tiles"
 
 systemd_service "render-lowzoom" do
   description "Render low zoom tiles"
+  condition_path_exists_glob "!/run/update-lowzoom-*"
   user "tile"
   exec_start "/usr/local/bin/render-lowzoom"
   private_tmp true
   user "tile"
   exec_start "/usr/local/bin/render-lowzoom"
   private_tmp true