New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reread and update ignore changes to event listeners #339

Closed
borntyping opened this Issue Jan 3, 2014 · 14 comments

Comments

@borntyping
Copy link
Contributor

borntyping commented Jan 3, 2014

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

borntyping added a commit to borntyping/supermann that referenced this issue Jan 6, 2014

Add support for @path argument files in the cli
This may not be a permanent feature - it's a workaround to use
supermann with chef due to this bug:

Supervisor/supervisor#339
@jean

This comment has been minimized.

Copy link
Contributor

jean commented Apr 19, 2014

This bites me too. Any way to read the new event listener config short of restarting the whole supervisord?

@mnaberez mnaberez added bug labels Apr 19, 2014

@kfatehi

This comment has been minimized.

Copy link

kfatehi commented Jul 28, 2014

it also ignores new environment variables. "reread" is misleading

@vincentor

This comment has been minimized.

Copy link

vincentor commented Sep 2, 2014

I met this trouble in the latest version(3.1.1) too. Strongly hope to be fixed soon.

@hltbra

This comment has been minimized.

Copy link

hltbra commented Sep 8, 2014

I renamed the event listener as a workaround, then ran update and supervisor removed the old config and added the new one.

@hltbra

This comment has been minimized.

Copy link

hltbra commented Sep 10, 2014

The workaround I mentioned before is not good enough. The old EventListenerPools 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

@jlejeune

This comment has been minimized.

Copy link

jlejeune commented Oct 10, 2014

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

@sposs

This comment has been minimized.

Copy link

sposs commented Nov 4, 2014

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...

@Kinghack

This comment has been minimized.

Copy link

Kinghack commented Aug 19, 2015

still not solved..

@gdelnegro

This comment has been minimized.

Copy link

gdelnegro commented Feb 11, 2016

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

@mkonecny

This comment has been minimized.

Copy link

mkonecny commented Mar 19, 2016

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.

@maihde

This comment has been minimized.

Copy link
Contributor

maihde commented Jun 27, 2016

I have made a fix available here: #777

@maxiwheat

This comment has been minimized.

Copy link

maxiwheat commented Nov 24, 2017

Got this issue too while using superlance, kinda annoying, however @gdelnegro did provide an easy workaround.

@mnaberez mnaberez closed this in 89003e6 Dec 16, 2017

@rachid804

This comment has been minimized.

Copy link

rachid804 commented Jan 6, 2018

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

mnaberez added a commit that referenced this issue Feb 8, 2018

Merge pull request #777 from maihde/master
Config reloading now detects changes to event listeners.  Fixes #339
@mr-karan

This comment has been minimized.

Copy link

mr-karan commented May 31, 2018

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment