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!
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
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!
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
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.
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
Does anyone have an answer for this?
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
Odoo performance issue
Solved
|
|
1
Jan 24
|
14647 | |
|
1
Jun 23
|
13818 | ||
|
1
Dec 22
|
3952 | ||
|
1
Jan 22
|
1381 | ||
|
0
Nov 21
|
1638 |
May i know ,what is your purpose for doing this ?
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?
Sorry about the bad indentation... I couln't tab and the spaces I input didn't work...