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/445/merge
Holger Brunn
9 years ago
committed by
Moises Lopez - https://www.vauxoo.com/
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