Closed laurent-claustre closed 5 years ago
Supervisor for windows delivers the basics of the original supervisor (Linux and Windows are quite different).
I'm going to do some testing and see if I can solve this problem with multivisor
.
No handlers could be found for logger "zerorpc.channel"
By my tests multivisor
it is compatible with supervisor-win
. This message is not an error but a warning generated by the logging
module.
This warning should not prevent you from using multivisor, but if it is happening give me the complete configuration files.
thanks for your answer, I still have the issue. this is the log of the supervisord deamon:
2019-05-14 09:53:37,312 WARN Included extra file "c:\blissadm\supervisord\conf.d\xmap.conf" during parsing
2019-05-14 09:53:37,342 INFO RPC interface 'supervisor' initialized
2019-05-14 09:53:37,342 INFO RPC interface 'multivisor' initialized
2019-05-14 09:53:37,342 CRIT Server 'inet_http_server' running without any HTTP authentication checking
2019-05-14 09:53:37,342 INFO supervisord started with pid 5392
And its configuration:
; supervisor config file
[inet_http_server]
port=:9001
[supervisord]
logfile=c:\blissadm\supervisord\log\supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=c:\blissadm\supervisord\\supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=c:\blissadm\supervisord\log ; ('AUTO' child log dir, default $TEMP)
identifier = wid10xmap1
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
; new rpc interface for multivisor
[rpcinterface:multivisor]
supervisor.rpcinterface_factory = multivisor.rpc:make_rpc_interface
bind=*:9002
[supervisorctl]
serverurl=http://localhost:9001
; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files *cannot*
; include files themselves.
[include]
files = c:\blissadm\supervisord\conf.d\*.conf
The multivisor log output is:
INFO 2019-05-14 10:19:19,665 multivisor.wid10xmap1: Connection error
INFO 2019-05-14 10:19:29,643 multivisor.wid10xmap1: (re)initializing...
INFO 2019-05-14 10:19:29,665 multivisor.wid10xmap1: Connection error
And finally the multivisor configuration:
[supervisor:wid10xmap1]
url=wid10xmap1:9002
I'm using conda miniconda3 python installation, and a python2.7 env., this is the list of the packages installed:
(base) PS>conda activate multivisor_py27
(multivisor_py27) PS>
(multivisor_py27) PS>
(multivisor_py27) PS>
(multivisor_py27) PS>conda activate multivisor_py2
(multivisor_py27) PS>
(multivisor_py27) PS>
(multivisor_py27) PS>conda list
# packages in environment at C:\ProgramData\Miniconda3\envs\multivisor_py27:
#
# Name Version Build Channel
certifi 2019.3.9 py27_0
cffi 1.12.3 pypi_0 pypi
chardet 3.0.4 pypi_0 pypi
click 7.0 pypi_0 pypi
dateparser 0.7.1 pypi_0 pypi
flask 1.0.2 pypi_0 pypi
future 0.17.1 pypi_0 pypi
gevent 1.4.0 pypi_0 pypi
greenlet 0.4.15 pypi_0 pypi
humanize 0.5.1 pypi_0 pypi
idna 2.8 pypi_0 pypi
itsdangerous 1.1.0 pypi_0 pypi
jinja2 2.10.1 pypi_0 pypi
louie 1.1 pypi_0 pypi
markupsafe 1.1.1 pypi_0 pypi
maya 0.6.1 pypi_0 pypi
meld3 1.0.2 pypi_0 pypi
msgpack-python 0.5.6 pypi_0 pypi
multivisor 5.0.2 pypi_0 pypi
nose 1.3.7 pypi_0 pypi
pendulum 2.0.4 pypi_0 pypi
pip 19.1.1 py27_0
prompt-toolkit 2.0.9 pypi_0 pypi
pycparser 2.19 pypi_0 pypi
python 2.7.16 hcb6e200_0
python-dateutil 2.8.0 pypi_0 pypi
pytz 2019.1 pypi_0 pypi
pytzdata 2019.1 pypi_0 pypi
pywin32 224 pypi_0 pypi
pyzmq 18.0.1 pypi_0 pypi
regex 2019.04.14 pypi_0 pypi
requests 2.21.0 pypi_0 pypi
setuptools 41.0.1 py27_0
six 1.12.0 pypi_0 pypi
snaptime 0.2.4 pypi_0 pypi
sqlite 3.28.0 h0c8e037_0
supervisor-win 4.0.2 pypi_0 pypi
typing 3.6.6 pypi_0 pypi
tzlocal 1.5.1 pypi_0 pypi
urllib3 1.24.3 pypi_0 pypi
vc 9 h7299396_1
vs2008_runtime 9.00.30729.1 hfaea7d5_1
wcwidth 0.1.7 pypi_0 pypi
werkzeug 0.15.2 pypi_0 pypi
wheel 0.33.2 py27_0
wincertstore 0.2 py27hf04cefb_0
zerorpc 0.6.1 pypi_0 pypi
(multivisor_py27) PS>
; new rpc interface for multivisor
[rpcinterface:multivisor]
supervisor.rpcinterface_factory = multivisor.rpc:make_rpc_interface
bind=*:9002
I believe that here is the problem:
[supervisor:wid10xmap1]
url=wid10xmap1:9002
wid10xmap1
does not appear to be a valid domain name.
Try to configure:
[supervisor:wid10xmap1]
url=localhost:9002
sorry, but I'm running multivisor on an other computer, not the localhost (wid10xmap1), where wid10xmap1 is well resolved by our DNS:
host wid10xmap1
wid10xmap1.esrf.fr has address 160.103.30.3
My multivisor is working fine and can get connection to few other supervisor hosts (linux) this is the full configuration file for multivisor:
[global]
name=ID10
[supervisor:lid101]
url=lid101:9002
[supervisor:lid102]
url=lid102:9002
[supervisor:lid104]
url=lid104:9002
[supervisor:lid10andor1]
url=lid10andor1:9002
[supervisor:lid10bas1]
url=lid10bas1:9002
[supervisor:lid10eiger1]
url=lid10eiger1:9002
[supervisor:lid10mpx1]
url=lid10mpx1:9002
[supervisor:max]
url=max:9002
[supervisor:wid10xmap1]
url=wid10xmap1:9002
I believe this is windows blocking the connection.
With the supervisor running and on the same machine run the following command, and report the result:
netstat -a
(You can report results only from ports in the supervisor.conf)
Can you ensure that port 9002
is open for external connections ?
Hi Alex, there is no blocking connection, sorry, both port 9001 and 9002 seem to be open, netstat can confirm:
TCP 160.103.30.3:3389 linuxlolo1:59874 ESTABLISHED
TCP 160.103.30.3:9001 linuxlolo1:48400 ESTABLISHED
TCP 160.103.30.3:9001 linuxlolo1:48402 ESTABLISHED
TCP 160.103.30.3:9001 linuxlolo1:48424 ESTABLISHED
TCP 160.103.30.3:9002 max:56452 ESTABLISHED
from max host this is multivisor, the connection seems to be established but multivisor still complains about connection error
and then it reinitializes it.
As you can see i can access supervisor on port 9001 from a web browser.
I have done several tests on my local network, between Linux x Windows and Windows x Windows machines and communication always establishes successfully. There's no way I can fix a problem that does not exist in the supervisor-win.
Can you make an explicit ip configuration as below ?
; new rpc interface for multivisor
[rpcinterface:multivisor]
supervisor.rpcinterface_factory = multivisor.rpc:make_rpc_interface
bind=0.0.0.0:9002
multivisor
must be connected to all interfaces in order to accept external connections.
In my case the result for netstat
is quite different.
TCP 0.0.0.0:9002 FIREDRAGON:0 LISTENING
I did it, but does not fix. In the meantime I open an issue on multivisor project : issue 45
Take the tests below, please.
After successfully installing the lib (on the machine where the multivisor client
is installed):
python -m pip install zerorpc
Confirm that the machine ip running the supervisor win is still this 160.103.30.3
Confirm that the port that multivisor server is listening to is still 9002
Run the command (python 2):
python -c "import zerorpc; print zerorpc.Client(\"tcp://160.103.30.3:9002\").getPID()"
What is the return ?
Analyzing the code of the multivisor
you can see that the error is hidden.
You can try installing the latest version of the windows branch
to check if the issue has been resolved. This branch has received all updates from the unix version master branch
.
pip install git+https://github.com/alexsilva/supervisor.git@windows -U
We intensively use couple supervisor/multivisor on linux boxes and now would like to use your nice windows version of supervisor. Nevertheless it failed. This is the configuration we use add the multivisor rpc interface:
; new rpc interface for multivisor [rpcinterface:multivisor] supervisor.rpcinterface_factory = multivisor.rpc:make_rpc_interface bind=*:9002
And the error message returned by supervisor-win when multivisor try to connect: No handlers could be found for logger "zerorpc.core"
I saw you informed supervisor team about your port to windows, is there a chance to merge both projects?