Re: Gracefull application exit.

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Tim Golden

    Re: Gracefull application exit.

    Robert Rawlins wrote:
    I’m looking to implement an exit/termination process for an application
    which can be triggered by A) a keyboard interrupt or B) termination of
    the application as a Daemon using a signal.
    >
    I have a whole bunch of tasks I want to perform as a cleanup before the
    application is terminated, cleaning files, database calls, closing open
    connections and a few other things.
    >
    I know we have:
    >
    # I'm the main application started method.
    >
    if __name__ == /"__main__"/:
    >
    For starting an application, but do we have an equivalent methods for
    when an application is terminated which we can use to close down any
    current internal processes before the application exits?
    >
    I’d really love to have your thoughts and experience on gracefully
    killing an application.
    You want to look at the atexit module:

    The atexit module defines functions to register and unregister cleanup functions. Functions thus registered are automatically executed upon normal interpreter termination. atexit runs these functio...


    but mind the caveats:

    """
    Note: the functions registered via this module are not
    called when the program is killed by a signal, when a
    Python fatal internal error is detected, or when
    os._exit() is called.
    """

    TJG

Working...