Ir al contenido
Menú
Se marcó esta pregunta
6 Respuestas
8301 Vistas

Hello, I have an Odoo server on odoo.sh and want to execute some pieces of code only when running there. Is there a way I can check, on a python method, if the server is running on production, locally, stagging, etc?

Thank you!

Avatar
Descartar

May i know ,what is your purpose for doing this ?

Autor

I my server I have, for example a method that makes a request to updates the invontory of our ecommerce. Something like:

def sync_inventory(self):

stock = function_that_get_the_current_stock()

update_ecommerce_stock(stock)

What I need I a way of doing something like:

def sync_inventory(self):

stock = function_that_get_the_current_stock()

if verify_if_server_is_on_production():

update_ecommerce_stock(stock)

Was I clear?

Autor

Sorry about the bad indentation... I couln't tab and the spaces I input didn't work...

Mejor respuesta

Following workround might be helpful to check if is "production" or "local":

def _check_environment_is_production(self):
web_base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
localhost_names = ['localhost']
return False if not web_base_url or any(x in web_base_url for x in localhost_names) else True
Avatar
Descartar

Please note that when exporting a backup of production from odoo.sh, for me at least this test on my dev machine still returns TRUE. And unfortunately the parameter ODOO_STAGE suggeted by https://www.odoo.sh/faq doesn't exist by default.

Mejor respuesta

Try this one

from openerp import api, models

_logger = logging.getLogger(__name__)

import xmlrpclib


class TestConnection(models.Model):

    _name = "test.connection"   


    @api.model

    def check_connection(self):        

        url = url

        db = db_name

        username = db_user

        password = db_password

        try:

            common = xmlrpclib.ServerProxy('{}/xmlrpc/2/common'.format(url))

            common.version()

            ### connection established, do your logic

        except:

            _logger.warning('*********Unable to connect the server ***********')

            ### connection Failed


Avatar
Descartar
Autor Mejor respuesta

Does anyone have an answer for this?

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
1
ene 24
15757
1
jul 25
391
0
jun 25
2
1
jun 23
15655
1
dic 22
5762