From 227caa74462fe249cb7529ac9f820e462c2bf089 Mon Sep 17 00:00:00 2001 From: Stan Triepels <1939656+GDay@users.noreply.github.com> Date: Sun, 14 May 2023 03:04:07 +0200 Subject: [PATCH] Post spawn docs (#95) --- docs/signals.rst | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/signals.rst b/docs/signals.rst index e30ae85..601d8e5 100644 --- a/docs/signals.rst +++ b/docs/signals.rst @@ -13,6 +13,12 @@ Before enqueuing a task The ``django_q.signals.pre_enqueue`` signal is emitted before a task is enqueued. The task dictionary is given as the ``task`` argument. +After spawning a worker process +""""""""""""""""""""""""""""""" + +The ``django_q.signals.post_spawn`` signal is emitted after a worker process has +spawned. The process name is given as the ``proc_name`` argument (string). + Before executing a task """"""""""""""""""""""" @@ -37,7 +43,7 @@ Connecting to a Django Q2 signal is done the same as any other Django signal:: from django.dispatch import receiver - from django_q.signals import pre_enqueue, pre_execute, post_execute + from django_q.signals import pre_enqueue, pre_execute, post_execute, post_spawn @receiver(pre_enqueue) def my_pre_enqueue_callback(sender, task, **kwargs): @@ -51,4 +57,8 @@ signal:: def my_post_execute_callback(sender, task, **kwargs): print(f"Task {task['name']} was executed with result {task['result']}") + @receiver(post_spawn) + def my_post_spawn_callback(sender, proc_name, **kwargs): + print(f"Process {proc_name} has spawned") +