diff --git a/kuyruk/worker.py b/kuyruk/worker.py
index <HASH>..<HASH> 100644
--- a/kuyruk/worker.py
+++ b/kuyruk/worker.py
@@ -106,12 +106,13 @@ class Worker:
         try:
             signals.worker_start.send(self.kuyruk, worker=self)
             self._consume_messages()
-            signals.worker_shutdown.send(self.kuyruk, worker=self)
         finally:
             self.shutdown_pending.set()
             for t in self._threads:
                 t.join()
 
+            signals.worker_shutdown.send(self.kuyruk, worker=self)
+
         logger.debug("End run worker")
 
     def _consume_messages(self) -> None:
always send worker_shutdown signal