From 4ba9e0338a34c475a6066617d0e1ee3ce6b5be1c Mon Sep 17 00:00:00 2001 From: David Hoover <44819988+hooverdc@users.noreply.github.com> Date: Sat, 13 May 2023 19:51:48 -0500 Subject: [PATCH] Add post_spawn signal. (#93) Co-authored-by: David Hoover --- django_q/cluster.py | 3 ++- django_q/signals.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/django_q/cluster.py b/django_q/cluster.py index 99243d0..02d685a 100644 --- a/django_q/cluster.py +++ b/django_q/cluster.py @@ -39,7 +39,7 @@ from django_q.conf import ( from django_q.humanhash import humanize from django_q.models import Schedule, Success, Task from django_q.queues import Queue -from django_q.signals import post_execute, pre_execute +from django_q.signals import post_execute, post_spawn, pre_execute from django_q.signing import BadSignature, SignedPackage from django_q.status import Stat, Status @@ -481,6 +481,7 @@ def worker( _("%(proc_name)s ready for work at %(id)s") % {"proc_name": proc_name, "id": current_process().pid} ) + post_spawn.send(sender="django_q", proc_name=proc_name) if setproctitle: setproctitle.setproctitle(f"qcluster {proc_name} idle") task_count = 0 diff --git a/django_q/signals.py b/django_q/signals.py index e52bfa0..bb171a3 100644 --- a/django_q/signals.py +++ b/django_q/signals.py @@ -31,6 +31,8 @@ def call_hook(sender, instance, **kwargs): % {"hook": instance.hook, "name": instance.name, "error": str(e)} ) +# args: proc_name +post_spawn = Signal() # args: task pre_enqueue = Signal()