I used guide available for Multiprocessing in openerp-connector.
I created a bash file as start_connector and it contains
#!/bin/bash
PYTHONPATH=/opt/openerp/v7.0/server connector/openerp-connector-worker --config /etc/openerp-server.conf --workers=2 --logfile=/tmp/openerp-connector.log
and I tried to start this file using this command
$ ./start_connector
Error Traceback:
File "/usr/lib/python2.7/threading.py", line 808, in __bootstrap_inner
self.run()
File "/opt/openerp/v7.0/custom_modules/launchpad_links/connector/queue/worker.py", line 304, in run
self.check_alive(db_name, worker)
File "/opt/openerp/v7.0/custom_modules/launchpad_links/connector/queue/worker.py", line 317, in check_alive
self._notify_alive(session, worker)
File "/opt/openerp/v7.0/custom_modules/launchpad_links/connector/queue/worker.py", line 325, in _notify_alive
dbworker_obj = session.pool.get('queue.worker')
File "/opt/openerp/v7.0/custom_modules/launchpad_links/connector/session.py", line 128, in pool
self._pool = openerp.pooler.get_pool(self.cr.dbname)
File "/opt/openerp/v7.0/server/openerp/pooler.py", line 49, in get_pool
return get_db_and_pool(db_name, force_demo, status, update_module)[1]
File "/opt/openerp/v7.0/server/openerp/pooler.py", line 33, in get_db_and_pool
registry = RegistryManager.get(db_name, force_demo, status, update_module)
File "/opt/openerp/v7.0/server/openerp/modules/registry.py", line 193, in get
update_module)
File "/opt/openerp/v7.0/server/openerp/modules/registry.py", line 219, in new
openerp.modules.load_modules(registry.db, force_demo, status, update_module)
File "/opt/openerp/v7.0/server/openerp/modules/loading.py", line 350, in load_modules
force, status, report, loaded_modules, update_module)
File "/opt/openerp/v7.0/server/openerp/modules/loading.py", line 256, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/opt/openerp/v7.0/server/openerp/modules/loading.py", line 159, in load_module_graph
load_openerp_module(package.name)
File "/opt/openerp/v7.0/server/openerp/modules/module.py", line 415, in load_openerp_module
getattr(sys.modules['openerp.addons.' + module_name], info['post_load'])()
File "/opt/openerp/v7.0/web/addons/web/http.py", line 628, in wsgi_postload
openerp.wsgi.register_wsgi_handler(Root())
File "/opt/openerp/v7.0/web/addons/web/http.py", line 517, in __init__
self.load_addons()
File "/opt/openerp/v7.0/web/addons/web/http.py", line 580, in load_addons
m = __import__('openerp.addons.' + module)
File "/opt/openerp/v7.0/server/openerp/modules/module.py", line 133, in load_module
mod = imp.load_module('openerp.addons.' + module_part, f, path, descr)
File "/opt/openerp/v7.0/custom_modules/launchpad_links/prestashoperpconnect/__init__.py", line 27, in <module>
import prestashop_model
File "/opt/openerp/v7.0/custom_modules/launchpad_links/prestashoperpconnect/prestashop_model.py", line 36, in <module>
from .unit.import_synchronizer import (
File "/opt/openerp/v7.0/custom_modules/launchpad_links/prestashoperpconnect/unit/__init__.py", line 26, in <module>
import mapper
File "/opt/openerp/v7.0/custom_modules/launchpad_links/prestashoperpconnect/unit/mapper.py", line 35, in <module>
from backend_adapter import GenericAdapter
File "/opt/openerp/v7.0/custom_modules/launchpad_links/prestashoperpconnect/unit/backend_adapter.py", line 29, in <module>
from prestapyt import PrestaShopWebServiceDict
File "/usr/local/lib/python2.7/dist-packages/prestapyt-0.4.0-py2.7.egg/prestapyt/__init__.py", line 1, in <module>
from prestapyt import PrestaShopWebService
File "/usr/local/lib/python2.7/dist-packages/prestapyt-0.4.0-py2.7.egg/prestapyt/prestapyt.py", line 21, in <module>
import requests
File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 52, in <module>
from . import utils
File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 22, in <module>
from .compat import parse_http_list as _parse_list_header
File "/usr/local/lib/python2.7/dist-packages/requests/compat.py", line 95, in <module>
from .packages import chardet
File "/usr/local/lib/python2.7/dist-packages/requests/packages/__init__.py", line 3, in <module>
from . import urllib3
File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/__init__.py", line 16, in <module>
from .connectionpool import (
File "/usr/local/lib/python2.7/dist-packages/requests/packages/urllib3/connectionpool.py", line 20, in <module>
from queue import LifoQueue, Empty, Full
File "/opt/openerp/v7.0/custom_modules/launchpad/openerp-connector/connector/queue/__init__.py", line 22, in <module>
import model
File "/opt/openerp/v7.0/custom_modules/launchpad/openerp-connector/connector/queue/model.py", line 30, in <module>
from .job import STATES, DONE, PENDING, OpenERPJobStorage
File "/opt/openerp/v7.0/custom_modules/launchpad/openerp-connector/connector/queue/job.py", line 33, in <module>
from ..exception import (NotReadableJobError,
ValueError: Attempted relative import beyond toplevel package
Where am I wrong?
or Is there a better method of launching in multi-worker mode for connector?
Did you manually edited the connector files? Because the line "from connection.exception import (NotReadableJobError," is normally "..exception import (NotReadableJobError,"
@Guewen Baconnier: yes, I made changes to solve the error. I have updated the original error.