HI Michael, There's a problem here - Web apps don't have a lifecycle like this. The only part of the app lifecycle that can be relied upon is the request-response cycle - someone makes a response, which will eventually be returned as a response. Outside of that internal lifecycle, not much can be guaranteed. A process will have to start in order to service a request (and there are ways to hook into that), but there are no guarantees that this process will last for 1 request, 10 or 10000. And there isn't a coordinated shutdown of the web process - the web server may choose to shut down a web worker at any time.
If you're using a queue to perform some sort of external processing, then that queue should be stored *outside* the web app itself. This means using a message queue (like RabbitMQ), or a service that provides an analogous interface (like RQ, layered over Redis). That way, a short lived web request can push something onto the queue, and then exit immediately. The web request doesn't need to worry about the lifecycle of the queue - it just uses the queue as a service. In short - you need to stop thinking of the web server as a "program" with a startup, shutdown, and predictable lifecycle, and move to thinking about it as "a function floating in space that can be invoked" - because, in practice, that's what it is. If you've got anything long lived, it needs to live outside the web process. Yours, Russ Magee %-) On Fri, Oct 24, 2014 at 5:18 AM, Michael <[email protected]> wrote: > Hi, > > How to detect that the django app is stopping? > > I use some librairies that use a queue (queue.Queue) to store the data > that will be sent in batch. > They provide a flush method to flush at the end of the program to make > sure there’s nothing left in the queue. > > But where could I call the flush method in django? > > Thanks > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/ddecba43-49b3-493c-ad35-83d02758f95f%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/ddecba43-49b3-493c-ad35-83d02758f95f%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAJxq848W3m_OkRU9v29bN_AfX%3DoE_0qoh79zv_17sjQ2CSyUPg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

