Hi Marcel,
many thanks for your reply.
On Tue, Oct 15, 2019 at 01:04:59PM +0200, Marcel Hellkamp wrote:
> Hi there,
>
> does the process actually terminate, or does it just stop accepting
> requests?
no, the process termnated. I don't see that in the process list.
> The stdlib wsgi server is single-threaded and not optimized or hardened
> at all. It simplifies debugging, but should NEVER be used in production.
I don't want to use it in production environment, but I thought I
can use it in develop env without any problems like this.
> It is easily confused by disconnecting or misbehaving clients and then
> stops accepting requests until a long timeout occurs.
what do you mean about "long timeout"? As I atteched the logs,
the stopage occurs between two periods (there is a FW appliance
which asks the IP lists between 5 minutes; the last request group
(5 or 6 unique request) successed, but the next one got 5XX
error).
> It could also be the reloading feature that misbehaves. Hard to tell
> without any actual error.
yes, but I think the all issue is weird without any error
message.
> With reloading activated, run() actually
> starts a second process that then accepts requests. If a module file
> changes, it stops automatically with exit code 3 and is restarted by the
> parent process. That is normal behavior. Try with disabled reloading.
hmm... I agree and understand, but there isn't any changes in
files. The process terminates sometimes in middle of night...
There was a long period at summer, when it runs through 2 weeks
or more, and then it stopped at weekend night... So, I don't
belive that the reload is the reason of the problem.
What's the preferred way to run Bottle in production environment?
Thanks again,
a.