jiheielf
Worker Service .NET8 how to gracefully shutdown as a docker container
I'm a junior developer just starting to work with Docker, and I have a question regarding graceful shutdown of the worker services.
I created a default worker service in Visual Studio, and my Worker class looks something like this:
After publishing the application as a Docker container, I noticed that when I run
docker stop
, it immediately aborts my async task inside await myAsyncWork();
or await mySecondAsyncWork();
.
Is there a way to ensure that when I run docker stop
, the application finishes the current async task and finishes the current iteration of while (!stoppingToken.IsCancellationRequested)
and then gracefully shuts down? And is there any best practise I should follow?13 replies