定时任务测试成功

This commit is contained in:
jingrow 2025-09-20 19:26:10 +08:00
parent d3862fd7a1
commit e962c712e3
2 changed files with 22 additions and 2 deletions

View File

@ -12,7 +12,7 @@ class LocalJobManager:
"""本地Local Job管理器 - 仅用于数据存储""" """本地Local Job管理器 - 仅用于数据存储"""
def __init__(self): def __init__(self):
self.redis = redis.Redis(host='localhost', port=6379, db=0) self.redis = redis.Redis(host='localhost', port=6379, db=1)
self.key = "jflow:local_jobs" self.key = "jflow:local_jobs"
def create_job(self, job_data: Dict[str, Any]) -> str: def create_job(self, job_data: Dict[str, Any]) -> str:

View File

@ -5,6 +5,7 @@ Jflow 调度器 - 最小化高效实现
import asyncio import asyncio
import logging import logging
import json
from datetime import datetime from datetime import datetime
from typing import Dict, Any, Optional from typing import Dict, Any, Optional
from dataclasses import dataclass from dataclasses import dataclass
@ -184,7 +185,26 @@ class Scheduler:
try: try:
logger.info(f"执行任务: {config.name}") logger.info(f"执行任务: {config.name}")
logger.info(f"任务配置: {config.payload}") logger.info(f"任务配置: {config.payload}")
execute_local_scheduled_job.send(config.payload)
# 生成 job_id 并创建 local_job 记录
import uuid
job_id = str(uuid.uuid4())
config.payload['job_id'] = job_id
# 创建本地任务记录
from app.services.local_job_manager import local_job_manager
local_job_manager.create_job({
'job_id': job_id,
'target_type': config.payload.get('target_type', 'agent'),
'status': 'queued',
'queue': 'default',
'job_name': config.name,
'arguments': config.payload,
'owner': 'system',
'modified_by': 'system'
})
execute_local_scheduled_job.send(json.dumps(config.payload))
logger.info(f"任务 {config.name} 已发送到队列") logger.info(f"任务 {config.name} 已发送到队列")
except Exception as e: except Exception as e:
logger.error(f"执行任务失败 {config.name}: {e}") logger.error(f"执行任务失败 {config.name}: {e}")