According to the uWSGI documentation the emperor-throttle option is specified in milliseconds. However the value to which it gets set is passed directly to usleep, which expects a value in microseconds!
Passing the desired value in microseconds causes problems with the blacklisting logic, as the throttle is assumed to be in millis and is multiplied by 1000. Thus if you've set the throttle level to 1 second (i.e. emperor-throttle = 1000000), your bad-behaving vassal won't be restarted until 1000 seconds later! Note that setting emperor-max-throttle does not prevent this from happening. One available workaround is to simply disable blacklisting altogether with the emperor-no-blacklist flag/option.
According to the uWSGI documentation the emperor-throttle option is specified in milliseconds. However the value to which it gets set is passed directly to usleep, which expects a value in microseconds!
Passing the desired value in microseconds causes problems with the blacklisting logic, as the throttle is assumed to be in millis and is multiplied by 1000. Thus if you've set the throttle level to 1 second (i.e.
emperor-throttle = 1000000
), your bad-behaving vassal won't be restarted until 1000 seconds later! Note that settingemperor-max-throttle
does not prevent this from happening. One available workaround is to simply disable blacklisting altogether with theemperor-no-blacklist
flag/option.