reread and update ignore changes to event listeners
borntyping opened this issue · 14 comments
If I change the configuration file for an event listener:
$ nano /etc/supervisor/conf.d/event_listener.conf
$ supervisorctl reread
No config updates to processes
$ supervisorctl update
$
If I change the configuration file for a program:
$ nano /etc/supervisor/conf.d/program.conf
$ sudo supervisorctl reread
riemann-dash: changed
$ sudo supervisorctl update
riemann-dash: stopped
riemann-dash: updated process group
This bites me too. Any way to read the new event listener config short of restarting the whole supervisord?
it also ignores new environment variables. "reread" is misleading
I met this trouble in the latest version(3.1.1) too. Strongly hope to be fixed soon.
I renamed the event listener as a workaround, then ran update
and supervisor removed the old config and added the new one.
The workaround I mentioned before is not good enough. The old EventListenerPool
s are still there, and I keep getting error logs like this: 2014-09-10 17:31:00,295 ERRO pool crashmailbatch0 event buffer overflowed, discarding event 8673
I found a workaround.
You have to stop and remove the process of your event listener with supervisorct remove method and then re-add it with supervisorctl add method.
It works for me.
EDIT: it works only once, I can't reproduce it... weird
I've faced the same problem, it turns out that the solution for me (version 3.1.2) is to
supervisorctl stop crashmailbatch
supervisorctl remove crashmailbatch
supervisorctl update
This seems to work, even repeatedly. The config file I have for it is
[eventlistener:crashmailbatch]
command=crashmailbatch -t "mymail@company.com" -f "user@server.com" -H "host.company.com" -s "Service error"
events=PROCESS_STATE,TICK_60
buffer_size=10
I do not know if the buffer_size is needed, as I did receive the notification I was expecting, despite the bufffer overflow errors...
still not solved..
Hi guys, I've changed my configuration file, and did
supervisorctl stop crashmailbatch
supervisorctl remove crashmailbatch
supervisorctl update
With the following in the config file:
[eventlistener:crashmailbatch]
command=/bin/bash -c "/usr/local/bin/crashmailbatch -t email@company.com -f email@company.com -i 10 -s "supervisor $HOSTNAME""
events=PROCESS_STATE,TICK_60
However, crashmailbatch stopped working, I've killed a process, and it didn't sent an error email. There's nothing in the supervisord.log. I rolled back to the previous config, and it still don't send emails.
Anyone knows what can I do?
Best regards
Also just discovered this confusing behaviour. Was on 3.0 and upgraded to 3.2 but no luck! In the interim, would be great to document this behaviour.
Got this issue too while using superlance, kinda annoying, however @gdelnegro did provide an easy workaround.
In my case the workers files are not included, so i had to add
[include]
files = /etc/supervisor/conf.d/*.conf
at the end of /etc/supervisord.conf and restart the daemon
Got bumped into this issue. As a quick fix, I renamed eventlistener
process group and reread
picked it up.
P.S. It's not just eventlistener
group that is not updated. If you change the event type in program
group, even that doesn't get picked up by reread