Skip to content

Commit

Permalink
Factorize options for QueueJobRunner
Browse files Browse the repository at this point in the history
  • Loading branch information
guewen committed Dec 18, 2019
1 parent bd85dff commit f95e630
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 26 deletions.
28 changes: 2 additions & 26 deletions queue_job/jobrunner/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html)

import logging
import os
from threading import Thread
import time

Expand Down Expand Up @@ -37,28 +36,7 @@ class QueueJobRunnerThread(Thread):
def __init__(self):
Thread.__init__(self)
self.daemon = True
scheme = os.environ.get("ODOO_QUEUE_JOB_SCHEME") or queue_job_config.get(
"scheme"
)
host = (
os.environ.get("ODOO_QUEUE_JOB_HOST")
or queue_job_config.get("host")
or config["http_interface"]
)
port = (
os.environ.get("ODOO_QUEUE_JOB_PORT")
or queue_job_config.get("port")
or config["http_port"]
)
user = os.environ.get("ODOO_QUEUE_JOB_HTTP_AUTH_USER") or queue_job_config.get(
"http_auth_user"
)
password = os.environ.get(
"ODOO_QUEUE_JOB_HTTP_AUTH_PASSWORD"
) or queue_job_config.get("http_auth_password")
self.runner = QueueJobRunner(
scheme or "http", host or "localhost", port or 8069, user, password
)
self.runner = QueueJobRunner.from_environ_or_config()

def run(self):
# sleep a bit to let the workers start at ease
Expand All @@ -75,9 +53,7 @@ class WorkerJobRunner(server.Worker):
def __init__(self, multi):
super(WorkerJobRunner, self).__init__(multi)
self.watchdog_timeout = None
port = os.environ.get("ODOO_CONNECTOR_PORT") or config["xmlrpc_port"]
base_url = port and "http://localhost:%s" % port or "http://localhost:8069"
self.runner = QueueJobRunner(base_url)
self.runner = QueueJobRunner.from_environ_or_config()

def sleep(self):
pass
Expand Down
30 changes: 30 additions & 0 deletions queue_job/jobrunner/runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,36 @@ def __init__(
self._stop = False
self._stop_pipe = os.pipe()

@classmethod
def from_environ_or_config(cls):
scheme = os.environ.get("ODOO_QUEUE_JOB_SCHEME") or queue_job_config.get(
"scheme"
)
host = (
os.environ.get("ODOO_QUEUE_JOB_HOST")
or queue_job_config.get("host")
or config["http_interface"]
)
port = (
os.environ.get("ODOO_QUEUE_JOB_PORT")
or queue_job_config.get("port")
or config["http_port"]
)
user = os.environ.get("ODOO_QUEUE_JOB_HTTP_AUTH_USER") or queue_job_config.get(
"http_auth_user"
)
password = os.environ.get(
"ODOO_QUEUE_JOB_HTTP_AUTH_PASSWORD"
) or queue_job_config.get("http_auth_password")
runner = cls(
scheme=scheme or "http",
host=host or "localhost",
port=port or 8069,
user=user,
password=password,
)
return runner

def get_db_names(self):
if config["db_name"]:
db_names = config["db_name"].split(",")
Expand Down

0 comments on commit f95e630

Please sign in to comment.