diff --git a/api/message_queue_send.py b/api/message_queue_send.py index ac1cb1652..eacb64ca7 100644 --- a/api/message_queue_send.py +++ b/api/message_queue_send.py @@ -19,6 +19,8 @@ class MessageQueueSend(ApiHandler): if send_all: count = mq.send_all_aggregated(context) + if count: + mark_dirty_for_context(context.id, reason="message_queue_send_all") return {"ok": True, "sent_count": count} # Send single item diff --git a/extensions/python/process_chain_end/_50_process_queue.py b/extensions/python/process_chain_end/_50_process_queue.py index 912890f3b..ad2960be8 100644 --- a/extensions/python/process_chain_end/_50_process_queue.py +++ b/extensions/python/process_chain_end/_50_process_queue.py @@ -2,6 +2,7 @@ import asyncio from helpers.extension import Extension from helpers import message_queue as mq from agent import AgentContext, Agent, LoopData +from helpers.state_monitor_integration import mark_dirty_for_context class ProcessQueue(Extension): @@ -34,4 +35,5 @@ class ProcessQueue(Extension): # Send next queued message if task is not running if not context.is_running(): - mq.send_next(context) + if mq.send_next(context): + mark_dirty_for_context(context.id, reason="message_queue_auto_send")