openfaas / templates

OpenFaaS Classic templates
https://www.openfaas.com
MIT License
276 stars 228 forks source link

JS templates don't react to SIGTERM #273

Open francisdb opened 2 years ago

francisdb commented 2 years ago

The js templates using express are missing SIGTERM handling

Expected Behaviour

A SIGTERM on the container should stop it

Current Behaviour

Nothing happens, the shutdown times out and the container is hard killed

Are you a GitHub Sponsor (Yes/No?)

Check at: https://github.com/sponsors/openfaas

The company I work for is sponsoring (waylay.io)

Which Solution Do You Recommend?

Any of the solutions documented here, I guess the first one is enough https://expressjs.com/en/advanced/healthcheck-graceful-shutdown.html

Steps to Reproduce (for bugs)

  1. Build an image from one of the node templates
  2. Start a container from the image
  3. Stop the container
  4. You will see it takes a while to actually time out and shut down (it exits with 137 indicating it was killed by kill -9)

Context

This is just an observation and I suspect not handling shutdown properly can interfere with the kubernetes scheduler causing redeploys and scaling to be slower

alexellis commented 2 years ago

Would you like to have a go at writing a draft PR for this @francisdb?

alexellis commented 2 years ago

/add label: help wanted