Skip to content

Library for gracefully terminating a Tornado server on SIGTERM

License

Notifications You must be signed in to change notification settings

ustudio/ustack-tornado-shutdown

Repository files navigation

ustack-tornado-shutdown

Library for gracefully terminating a Tornado server on SIGTERM

Example Without Grace Period

import asyncio
from ustack_tornado_shutdown.graceful_shutdown import on_sigterm


async def run_forever():
    while True:
        asyncio.sleep(1)


async def main():
    asyncio.create_task(run_forever())

    await on_sigterm()


if __name__ == "__main__":
    asyncio.run(main())

Example With Grace Period

import asyncio
from tornado.web import Application
from ustack_tornado_shutdown.graceful_shutdown import on_sigterm


async def main():
    app = Application([])

    server = app.listen(8000)

    await on_sigterm(server.stop)


if __name__ == "__main__":
    asyncio.run(main())

About

Library for gracefully terminating a Tornado server on SIGTERM

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages