KartikMistry has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/230108

Change subject: Apertium: Add -j -m and parameters
......................................................................

Apertium: Add -j -m and parameters

-j - Number of APY instance processes to run
-m - Seconds to wait before shutdown idle process

We've set -j 1 and -m 300 for production.

Change-Id: Id386c9964c844c9a37e4c2f311b61c17e1b02154
---
M modules/apertium/manifests/init.pp
A modules/apertium/templates/upstart.erb
2 files changed, 50 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/08/230108/1

diff --git a/modules/apertium/manifests/init.pp 
b/modules/apertium/manifests/init.pp
index 6781eb0..738e845 100644
--- a/modules/apertium/manifests/init.pp
+++ b/modules/apertium/manifests/init.pp
@@ -3,8 +3,17 @@
 # Apertium is a backend Machine Translation service for the Content 
Translation.
 # https://www.mediawiki.org/wiki/Content_translation/Apertium
 #
-class apertium(){
-    package { [
+# === Parameters
+#
+# [*num_of_processes*]
+# Number of APY instance processes to run
+# [*max_idle_seconds*]
+# Seconds to wait before shutdown idle process
+class apertium(
+    $num_of_processes = 1,
+    $max_idle_seconds = 300,
+) {
+    require_package { [
         'apertium',
         'apertium-af-nl',
         'apertium-apy',
@@ -54,8 +63,28 @@
         notify => Service['apertium-apy'],
     }
 
+    # The upstart configuration
+    file { '/etc/init/apertium.conf':
+        ensure  => present,
+        owner   => 'root',
+        group   => 'root',
+        mode    => '0444'
+    }
+
+    # Link with upstart-job
+    file { '/etc/init.d/apertium-apy':
+        ensure => 'link',
+        target => '/lib/init/upstart-job',
+    }
+
     service { 'apertium-apy':
         ensure  => running,
-        require => Package['apertium-apy'],
+        hasstatus  => true,
+        hasrestart => true,
+        provider   => 'upstart',
+        require    => [
+            File['/etc/init.d/apertium-apy']
+        ],
+        subscribe  => File['/etc/init/apertium.conf'],
     }
 }
diff --git a/modules/apertium/templates/upstart.erb 
b/modules/apertium/templates/upstart.erb
new file mode 100644
index 0000000..7833b2f
--- /dev/null
+++ b/modules/apertium/templates/upstart.erb
@@ -0,0 +1,18 @@
+#####################################################################
+### THIS FILE IS MANAGED BY PUPPET
+#####################################################################
+
+description "Apertium APY service"
+
+start on (local-filesystems and net-device-up IFACE!=lo)
+stop on runlevel [!2345]
+
+setuid "apertium"
+setgid "apertium"
+
+env LC_ALL=en_US.utf-8
+
+exec /usr/bin/python3 /usr/share/apertium-apy/servlet.py -j"<%= 
@num_of_processes %>" -m"<%= max_idle_seconds %>" /usr/share/apertium/modes
+
+# wait 60 seconds for a graceful restart before killing the master
+kill timeout 60

-- 
To view, visit https://gerrit.wikimedia.org/r/230108
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id386c9964c844c9a37e4c2f311b61c17e1b02154
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: KartikMistry <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to