queueueueue
This commit is contained in:
12
agent.py
12
agent.py
@@ -496,6 +496,12 @@ RESPOND WITH ONLY THE JSON, NO OTHER TEXT.
|
|||||||
# If queue is enabled, submit to queue and wait
|
# If queue is enabled, submit to queue and wait
|
||||||
if self.use_queue and self.ollama_queue:
|
if self.use_queue and self.ollama_queue:
|
||||||
try:
|
try:
|
||||||
|
# Check if there's already an AUTONOMOUS request pending/processing
|
||||||
|
if self.priority_level.value == 1: # AUTONOMOUS
|
||||||
|
if self.ollama_queue.has_pending_with_priority(self.priority_level):
|
||||||
|
print("[Queue] Skipping request - AUTONOMOUS check already in queue")
|
||||||
|
return "System check already in progress - skipping duplicate request"
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
"model": self.model,
|
"model": self.model,
|
||||||
"prompt": prompt,
|
"prompt": prompt,
|
||||||
@@ -794,6 +800,12 @@ Provide unified summary (max 800 chars) covering all key points."""
|
|||||||
# Use queue if enabled
|
# Use queue if enabled
|
||||||
if self.use_queue and self.ollama_queue:
|
if self.use_queue and self.ollama_queue:
|
||||||
try:
|
try:
|
||||||
|
# Check if there's already an AUTONOMOUS request pending/processing
|
||||||
|
if self.priority_level.value == 1: # AUTONOMOUS
|
||||||
|
if self.ollama_queue.has_pending_with_priority(self.priority_level):
|
||||||
|
print("[Queue] Skipping request - AUTONOMOUS check already in queue")
|
||||||
|
return "System check already in progress - skipping duplicate request"
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
"model": self.model,
|
"model": self.model,
|
||||||
"messages": pruned_messages,
|
"messages": pruned_messages,
|
||||||
|
|||||||
@@ -102,6 +102,28 @@ class OllamaQueue:
|
|||||||
return i + 1
|
return i + 1
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
def has_pending_with_priority(self, priority: Priority) -> bool:
|
||||||
|
"""Check if there are any pending or processing requests with the given priority"""
|
||||||
|
# Check pending requests
|
||||||
|
for req_file in self.pending_dir.glob("*.json"):
|
||||||
|
try:
|
||||||
|
data = json.loads(req_file.read_text())
|
||||||
|
if data.get("priority") == priority.value:
|
||||||
|
return True
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Check processing requests
|
||||||
|
for req_file in self.processing_dir.glob("*.json"):
|
||||||
|
try:
|
||||||
|
data = json.loads(req_file.read_text())
|
||||||
|
if data.get("priority") == priority.value:
|
||||||
|
return True
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
def wait_for_result(
|
def wait_for_result(
|
||||||
self,
|
self,
|
||||||
request_id: str,
|
request_id: str,
|
||||||
|
|||||||
@@ -725,6 +725,11 @@ class MachaOrchestrator:
|
|||||||
git_context=self.git_context if hasattr(self, 'git_context') else None
|
git_context=self.git_context if hasattr(self, 'git_context') else None
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Check if analysis was skipped due to queue already being busy
|
||||||
|
if isinstance(analysis, str) and "already in progress" in analysis.lower():
|
||||||
|
self._log("⏭️ Analysis skipped - autonomous check already in queue")
|
||||||
|
return
|
||||||
|
|
||||||
self._log(f"\n{'='*60}")
|
self._log(f"\n{'='*60}")
|
||||||
self._log("AI ANALYSIS RESULTS")
|
self._log("AI ANALYSIS RESULTS")
|
||||||
self._log(f"{'='*60}")
|
self._log(f"{'='*60}")
|
||||||
|
|||||||
Reference in New Issue
Block a user