Browse Source
[ADD] dead_mans_switch_client (#460)
[ADD] dead_mans_switch_client (#460)
* [ADD] dead_mans_switch_client, dead_mans_switch_server * OCA Transbot updated translations from Transifex * Add demo system parameter and some fixes to README. Fix #314. * Add timeout to urlopen in order to avoid "freeze" of the cron job * Use default timeout in get_param directly * OCA Transbot updated translations from Transifex * [IMP] count all child processes' resources * [FIX] only look at parent if workers are configured * [ADD] tell the server that we don't know a value * [FIX] pass timeout as keyword argument * [ADD] hints for coveralls * OCA Transbot updated translations from Transifex * OCA Transbot updated translations from Transifex * OCA Transbot updated translations from Transifex * OCA Transbot updated translations from Transifex * OCA Transbot updated translations from Transifex * OCA Transbot updated translations from Transifex * [ADD] migrate dead_mans_switch_client * [IMP] better readme, s/8.0/9.0/pull/1277/head
Holger Brunn
9 years ago
committed by
Atte Isopuro
21 changed files with 641 additions and 0 deletions
-
74dead_mans_switch_client/README.rst
-
4dead_mans_switch_client/__init__.py
-
21dead_mans_switch_client/__openerp__.py
-
13dead_mans_switch_client/data/ir_actions.xml
-
13dead_mans_switch_client/data/ir_cron.xml
-
5dead_mans_switch_client/demo/dead_mans_switch_client_demo.yml
-
29dead_mans_switch_client/i18n/de.po
-
38dead_mans_switch_client/i18n/en.po
-
47dead_mans_switch_client/i18n/es.po
-
45dead_mans_switch_client/i18n/fi.po
-
46dead_mans_switch_client/i18n/fr.po
-
28dead_mans_switch_client/i18n/it.po
-
47dead_mans_switch_client/i18n/pt_BR.po
-
48dead_mans_switch_client/i18n/sl.po
-
29dead_mans_switch_client/i18n/tr.po
-
28dead_mans_switch_client/i18n/zh_CN.po
-
4dead_mans_switch_client/models/__init__.py
-
101dead_mans_switch_client/models/dead_mans_switch_client.py
-
BINdead_mans_switch_client/static/description/icon.png
-
4dead_mans_switch_client/tests/__init__.py
-
17dead_mans_switch_client/tests/test_dead_mans_switch_client.py
@ -0,0 +1,74 @@ |
|||
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
|||
:alt: License: AGPL-3 |
|||
|
|||
========================== |
|||
Dead man's switch (client) |
|||
========================== |
|||
|
|||
This module is the client part of `dead_mans_switch_server`. It is responsible |
|||
of sending the server status updates, which in turn takes action if those |
|||
updates don't come in time. |
|||
|
|||
Configuration |
|||
============= |
|||
|
|||
After installing this module, you need to fill in the system parameter |
|||
``dead_mans_switch_client.url``. This must be the full URL to the server's |
|||
controller, usually of the form ``https://your.server/dead_mans_switch/alive``. |
|||
|
|||
This module attempts to send CPU and RAM statistics to the server. While this |
|||
is not mandatory, it's helpful for assessing a server's health. If you want |
|||
this, you need to install ``psutil``. |
|||
|
|||
You can also have the number of currently online users logged, but this only |
|||
works if the ``bus`` module is installed and longpolling configured correctly. |
|||
|
|||
Usage |
|||
===== |
|||
|
|||
This module doesn't have any visible effect on the client. |
|||
|
|||
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas |
|||
:alt: Try me on Runbot |
|||
:target: https://runbot.odoo-community.org/runbot/149/9.0 |
|||
|
|||
For further information, please visit: |
|||
|
|||
* https://www.odoo.com/forum/help-1 |
|||
|
|||
Known issues / Roadmap |
|||
====================== |
|||
|
|||
* certificate pinning would be nice |
|||
|
|||
Bug Tracker |
|||
=========== |
|||
|
|||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/issues>`_. |
|||
In case of trouble, please check there if your issue has already been reported. |
|||
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback |
|||
`here <https://github.com/OCA/server-tools/issues/new?body=module:%20dead_mans_switch_client%0Aversion:%209.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. |
|||
|
|||
Credits |
|||
======= |
|||
|
|||
Contributors |
|||
------------ |
|||
|
|||
* Holger Brunn <hbrunn@therp.nl> |
|||
* Jairo Llopis <yajo.sk8@gmail.com> |
|||
|
|||
Maintainer |
|||
---------- |
|||
|
|||
.. image:: https://odoo-community.org/logo.png |
|||
:alt: Odoo Community Association |
|||
:target: https://odoo-community.org |
|||
|
|||
This module is maintained by the OCA. |
|||
|
|||
OCA, or the Odoo Community Association, is a nonprofit organization whose |
|||
mission is to support the collaborative development of Odoo features and |
|||
promote its widespread use. |
|||
|
|||
To contribute to this module, please visit https://odoo-community.org. |
@ -0,0 +1,4 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2015 Therp BV <http://therp.nl> |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
from . import models |
@ -0,0 +1,21 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2015-2016 Therp BV <http://therp.nl> |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
{ |
|||
"name": "Dead man's switch (client)", |
|||
"version": "9.0.1.0.1", |
|||
"author": "Therp BV,Odoo Community Association (OCA)", |
|||
"license": "AGPL-3", |
|||
"category": "Monitoring", |
|||
"summary": "Be notified when customers' odoo instances go down", |
|||
"depends": [ |
|||
'base', |
|||
], |
|||
"data": [ |
|||
"data/ir_actions.xml", |
|||
"data/ir_cron.xml", |
|||
], |
|||
"demo": [ |
|||
"demo/dead_mans_switch_client_demo.yml", |
|||
], |
|||
} |
@ -0,0 +1,13 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<openerp> |
|||
<data> |
|||
<act_window id="action_setup" res_model="ir.config_parameter" |
|||
name="Configure the dead man's switch server" view_mode="form" |
|||
context="{'default_key': 'dead_mans_switch_client.url'}"/> |
|||
<record id="todo_setup" model="ir.actions.todo"> |
|||
<field name="name">Configure the dead man's switch server</field> |
|||
<field name="type">automatic</field> |
|||
<field name="action_id" ref="action_setup" /> |
|||
</record> |
|||
</data> |
|||
</openerp> |
@ -0,0 +1,13 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<openerp> |
|||
<data noupdate="1"> |
|||
<record id="cron_client" model="ir.cron"> |
|||
<field name="name">Dead man's switch client</field> |
|||
<field name="interval_number">5</field> |
|||
<field name="interval_type">minutes</field> |
|||
<field name="numbercall">-1</field> |
|||
<field name="model">dead.mans.switch.client</field> |
|||
<field name="function">alive</field> |
|||
</record> |
|||
</data> |
|||
</openerp> |
@ -0,0 +1,5 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2015 Grupo ESOC Ingeniería de Servicios, S.L.U. - Jairo Llopis |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
|
|||
- !function {model: dead.mans.switch.client, name: _install_default_url} |
@ -0,0 +1,29 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * dead_mans_switch_client |
|||
# |
|||
# Translators: |
|||
# Rudolf Schnapka <rs@techno-flex.de>, 2016 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-01-19 14:44+0000\n" |
|||
"PO-Revision-Date: 2016-01-18 13:53+0000\n" |
|||
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n" |
|||
"Language-Team: German (http://www.transifex.com/oca/OCA-server-tools-8-0/language/de/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: de\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: model:ir.actions.act_window,name:dead_mans_switch_client.action_setup |
|||
msgid "Configure the dead man's switch server" |
|||
msgstr "Konfigurieren Sie den 'dead man's switch -Server'" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
@ -0,0 +1,38 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * dead_mans_switch_client |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-05-06 02:41+0000\n" |
|||
"PO-Revision-Date: 2016-05-04 19:17+0000\n" |
|||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n" |
|||
"Language-Team: English (http://www.transifex.com/oca/OCA-server-tools-8-0/language/en/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: en\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: model:ir.actions.act_window,name:dead_mans_switch_client.action_setup |
|||
msgid "Configure the dead man's switch server" |
|||
msgstr "Configure the dead man's switch server" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,display_name:0 |
|||
msgid "Display Name" |
|||
msgstr "Display Name" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,__last_update:0 |
|||
msgid "Last Modified on" |
|||
msgstr "Last Modified on" |
@ -0,0 +1,47 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * dead_mans_switch_client |
|||
# |
|||
# Translators: |
|||
# Carles Antoli <carlesantoli@hotmail.com>, 2015 |
|||
# danimaribeiro <danimaribeiro@gmail.com>, 2016 |
|||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012-2013 |
|||
# Hotellook, 2014 |
|||
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016 |
|||
# Paolo Valier, 2016 |
|||
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2015 |
|||
# Rudolf Schnapka <rs@techno-flex.de>, 2016 |
|||
# UAB "Draugiški sprendimai" <transifex@draugiskisprendimai.lt>, 2015 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-05-28 02:41+0000\n" |
|||
"PO-Revision-Date: 2016-05-27 15:24+0000\n" |
|||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n" |
|||
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/es/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: es\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: model:ir.actions.act_window,name:dead_mans_switch_client.action_setup |
|||
msgid "Configure the dead man's switch server" |
|||
msgstr "" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,display_name:0 |
|||
msgid "Display Name" |
|||
msgstr "Nombre a mostrar" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,__last_update:0 |
|||
msgid "Last Modified on" |
|||
msgstr "Última actualización por" |
@ -0,0 +1,45 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * dead_mans_switch_client |
|||
# |
|||
# Translators: |
|||
# Antonio Trueba, 2016 |
|||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010,2012-2014 |
|||
# Hotellook, 2014 |
|||
# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2016 |
|||
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016 |
|||
# Paolo Valier, 2016 |
|||
# Rudolf Schnapka <rs@techno-flex.de>, 2016 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-06-09 18:30+0000\n" |
|||
"PO-Revision-Date: 2016-06-06 13:35+0000\n" |
|||
"Last-Translator: Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>\n" |
|||
"Language-Team: Finnish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/fi/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: fi\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: model:ir.actions.act_window,name:dead_mans_switch_client.action_setup |
|||
msgid "Configure the dead man's switch server" |
|||
msgstr "Konfiguroi \"kuolleen miehen kytkin\"-palvelin" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,display_name:0 |
|||
msgid "Display Name" |
|||
msgstr "Nimi" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,__last_update:0 |
|||
msgid "Last Modified on" |
|||
msgstr "Viimeksi muokattu" |
@ -0,0 +1,46 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * dead_mans_switch_client |
|||
# |
|||
# Translators: |
|||
# Ahmet Altınışık <aaltinisik@altinkaya.com.tr>, 2015-2016 |
|||
# Antonio Trueba, 2016 |
|||
# Armando Vulcano Junior <vulcano@uol.com.br>, 2015 |
|||
# Christophe CHAUVET <christophe.chauvet@gmail.com>, 2015 |
|||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013-2014 |
|||
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2016 |
|||
# Paolo Valier, 2016 |
|||
# Rudolf Schnapka <rs@techno-flex.de>, 2016 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-05-12 14:34+0000\n" |
|||
"PO-Revision-Date: 2016-05-08 15:26+0000\n" |
|||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n" |
|||
"Language-Team: French (http://www.transifex.com/oca/OCA-server-tools-8-0/language/fr/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: fr\n" |
|||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: model:ir.actions.act_window,name:dead_mans_switch_client.action_setup |
|||
msgid "Configure the dead man's switch server" |
|||
msgstr "" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,display_name:0 |
|||
msgid "Display Name" |
|||
msgstr "Nom affiché" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,__last_update:0 |
|||
msgid "Last Modified on" |
|||
msgstr "Dernière modification le" |
@ -0,0 +1,28 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * dead_mans_switch_client |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2015-11-27 14:01+0000\n" |
|||
"PO-Revision-Date: 2015-11-26 12:51+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: Italian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/it/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: it\n" |
|||
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: model:ir.actions.act_window,name:dead_mans_switch_client.action_setup |
|||
msgid "Configure the dead man's switch server" |
|||
msgstr "" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
@ -0,0 +1,47 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * dead_mans_switch_client |
|||
# |
|||
# Translators: |
|||
# Ahmet Altınışık <aaltinisik@altinkaya.com.tr>, 2016 |
|||
# Antonio Trueba, 2016 |
|||
# Christophe CHAUVET <christophe.chauvet@gmail.com>, 2015 |
|||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012 |
|||
# Hotellook, 2014 |
|||
# Isabelle RICHARD <isabellerichard89@gmail.com>, 2015 |
|||
# Jarmo Kortetjärvi <jarmo.kortetjarvi@gmail.com>, 2016 |
|||
# LS Development <ls.development.nc@gmail.com>, 2016 |
|||
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-05-12 14:34+0000\n" |
|||
"PO-Revision-Date: 2016-05-11 16:42+0000\n" |
|||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n" |
|||
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/pt_BR/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: pt_BR\n" |
|||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: model:ir.actions.act_window,name:dead_mans_switch_client.action_setup |
|||
msgid "Configure the dead man's switch server" |
|||
msgstr "" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,display_name:0 |
|||
msgid "Display Name" |
|||
msgstr "Nome para Mostrar" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,id:0 |
|||
msgid "ID" |
|||
msgstr "Identificação" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,__last_update:0 |
|||
msgid "Last Modified on" |
|||
msgstr "Última atualização em" |
@ -0,0 +1,48 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * dead_mans_switch_client |
|||
# |
|||
# Translators: |
|||
# Ahmet Altınışık <aaltinisik@altinkaya.com.tr>, 2016 |
|||
# Antonio Trueba, 2016 |
|||
# Carles Antoli <carlesantoli@hotmail.com>, 2015 |
|||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2013-2014 |
|||
# Giacomo <giacomo.spettoli@gmail.com>, 2015 |
|||
# Hotellook, 2014 |
|||
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015-2016 |
|||
# Miku Laitinen <miku.laitinen@gmail.com>, 2015 |
|||
# Pedro M. Baeza <pedro.baeza@gmail.com>, 2015 |
|||
# Rudolf Schnapka <rs@techno-flex.de>, 2015-2016 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-05-06 02:41+0000\n" |
|||
"PO-Revision-Date: 2016-05-05 05:57+0000\n" |
|||
"Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>\n" |
|||
"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/sl/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: sl\n" |
|||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: model:ir.actions.act_window,name:dead_mans_switch_client.action_setup |
|||
msgid "Configure the dead man's switch server" |
|||
msgstr "Nastavitev strežnika varnostnega stikala" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,display_name:0 |
|||
msgid "Display Name" |
|||
msgstr "Prikazni naziv" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,__last_update:0 |
|||
msgid "Last Modified on" |
|||
msgstr "Zadnjič spremenjeno" |
@ -0,0 +1,29 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * dead_mans_switch_client |
|||
# |
|||
# Translators: |
|||
# Ahmet Altınışık <aaltinisik@altinkaya.com.tr>, 2016 |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-01-19 14:44+0000\n" |
|||
"PO-Revision-Date: 2016-01-31 14:58+0000\n" |
|||
"Last-Translator: Ahmet Altınışık <aaltinisik@altinkaya.com.tr>\n" |
|||
"Language-Team: Turkish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/tr/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: tr\n" |
|||
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: model:ir.actions.act_window,name:dead_mans_switch_client.action_setup |
|||
msgid "Configure the dead man's switch server" |
|||
msgstr "Ölü adam tetiği sunucusunu ayarla" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
@ -0,0 +1,28 @@ |
|||
# Translation of Odoo Server. |
|||
# This file contains the translation of the following modules: |
|||
# * dead_mans_switch_client |
|||
# |
|||
# Translators: |
|||
msgid "" |
|||
msgstr "" |
|||
"Project-Id-Version: server-tools (8.0)\n" |
|||
"Report-Msgid-Bugs-To: \n" |
|||
"POT-Creation-Date: 2016-04-14 07:02+0000\n" |
|||
"PO-Revision-Date: 2015-11-26 12:51+0000\n" |
|||
"Last-Translator: <>\n" |
|||
"Language-Team: Chinese (China) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/zh_CN/)\n" |
|||
"MIME-Version: 1.0\n" |
|||
"Content-Type: text/plain; charset=UTF-8\n" |
|||
"Content-Transfer-Encoding: \n" |
|||
"Language: zh_CN\n" |
|||
"Plural-Forms: nplurals=1; plural=0;\n" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: model:ir.actions.act_window,name:dead_mans_switch_client.action_setup |
|||
msgid "Configure the dead man's switch server" |
|||
msgstr "" |
|||
|
|||
#. module: dead_mans_switch_client |
|||
#: field:dead.mans.switch.client,id:0 |
|||
msgid "ID" |
|||
msgstr "ID" |
@ -0,0 +1,4 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2015 Therp BV <http://therp.nl> |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
from . import dead_mans_switch_client |
@ -0,0 +1,101 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2015-2016 Therp BV <http://therp.nl> |
|||
# © 2015 Grupo ESOC Ingeniería de Servicios, S.L.U. - Jairo Llopis |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
import json |
|||
import logging |
|||
import os |
|||
try: |
|||
import psutil |
|||
except ImportError: # pragma: no cover |
|||
psutil = None |
|||
import urllib2 |
|||
from openerp import api, models |
|||
from openerp.tools.config import config |
|||
|
|||
SEND_TIMEOUT = 60 |
|||
|
|||
|
|||
class DeadMansSwitchClient(models.AbstractModel): |
|||
_name = 'dead.mans.switch.client' |
|||
_register = True |
|||
|
|||
@api.model |
|||
def _get_data(self): |
|||
ram = 0 |
|||
cpu = 0 |
|||
if psutil: |
|||
process = psutil.Process(os.getpid()) |
|||
# psutil changed its api through versions |
|||
processes = [process] |
|||
if config.get('workers') and process.parent: # pragma: no cover |
|||
if hasattr(process.parent, '__call__'): |
|||
process = process.parent() |
|||
else: |
|||
process = process.parent |
|||
if hasattr(process, 'children'): |
|||
processes += process.children(True) |
|||
elif hasattr(process, 'get_children'): |
|||
processes += process.get_children(True) |
|||
for process in processes: |
|||
if hasattr(process, 'memory_percent'): |
|||
ram += process.memory_percent() |
|||
else: # pragma: no cover |
|||
ram = None |
|||
if hasattr(process, 'cpu_percent'): |
|||
cpu += process.cpu_percent() |
|||
else: # pragma: no cover |
|||
cpu = None |
|||
user_count = 0 |
|||
if 'bus.presence' in self.env.registry: |
|||
user_count = self.env['bus.presence'].search_count([ |
|||
('status', '=', 'online'), |
|||
]) |
|||
return { |
|||
'database_uuid': self.env['ir.config_parameter'].get_param( |
|||
'database.uuid'), |
|||
'cpu': cpu, |
|||
'ram': ram, |
|||
'user_count': user_count, |
|||
} |
|||
|
|||
@api.model |
|||
def alive(self): |
|||
url = self.env['ir.config_parameter'].get_param( |
|||
'dead_mans_switch_client.url') |
|||
logger = logging.getLogger(__name__) |
|||
if not url: |
|||
logger.error('No server configured!') |
|||
return |
|||
timeout = self.env['ir.config_parameter'].get_param( |
|||
'dead_mans_switch_client.send_timeout', SEND_TIMEOUT) |
|||
data = self._get_data() |
|||
logger.debug('sending %s', data) |
|||
urllib2.urlopen( |
|||
urllib2.Request( |
|||
url, |
|||
json.dumps({ |
|||
'jsonrpc': '2.0', |
|||
'method': 'call', |
|||
'params': data, |
|||
}), |
|||
{ |
|||
'Content-Type': 'application/json', |
|||
}), |
|||
timeout=timeout) |
|||
|
|||
@api.model |
|||
def _install_default_url(self): |
|||
"""Set up a default URL.""" |
|||
conf = self.env["ir.config_parameter"] |
|||
name = "dead_mans_switch_client.url" |
|||
param = conf.get_param(name) |
|||
|
|||
if not param: |
|||
url = "{}/dead_mans_switch/alive".format( |
|||
conf.get_param( |
|||
"report.url", |
|||
conf.get_param( |
|||
"web.base.url", |
|||
"http://localhost"))) |
|||
conf.set_param(name, url) |
After Width: 128 | Height: 128 | Size: 9.2 KiB |
@ -0,0 +1,4 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2015 Therp BV <http://therp.nl> |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
from . import test_dead_mans_switch_client |
@ -0,0 +1,17 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# © 2015 Therp BV <http://therp.nl> |
|||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
|||
from openerp.tests.common import TransactionCase |
|||
|
|||
|
|||
class TestDeadMansSwitchClient(TransactionCase): |
|||
def test_dead_mans_switch_client(self): |
|||
# test unconfigured case |
|||
self.env['ir.config_parameter'].search([ |
|||
('key', '=', 'dead_mans_switch_client.url')]).unlink() |
|||
self.env['dead.mans.switch.client'].alive() |
|||
# test configured case |
|||
self.env['ir.config_parameter'].set_param( |
|||
'dead_mans_switch_client.url', 'fake_url') |
|||
with self.assertRaises(ValueError): |
|||
self.env['dead.mans.switch.client'].alive() |
Write
Preview
Loading…
Cancel
Save
Reference in new issue