diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b2156c9 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,52 @@ +# Git +.git +.gitignore + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# 虚拟环境 +venv/ +ENV/ +env/ + +# IDE +.idea/ +.vscode/ +*.swp +*.swo + +# 日志 +logs/* +!logs/.gitkeep + +# 测试 +tests/ +.pytest_cache/ + +# 其他 +.DS_Store +Dockerfile +.dockerignore +docker-compose.yml +README.md +*.md \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..57341bb --- /dev/null +++ b/.env.example @@ -0,0 +1,24 @@ +# 应用配置 +DEBUG=false +HOST=0.0.0.0 +PORT=8000 + +# 数据库配置 +DB_HOST=localhost +DB_PORT=3306 +DB_USER=root +DB_PASSWORD=password +DB_NAME=tianfeng_task + +# Redis配置 +REDIS_HOST=localhost +REDIS_PORT=6379 +REDIS_DB=0 +REDIS_PASSWORD= + +# 环境配置 +TIANFENG_ENV=default + +# 日志配置 +LOG_LEVEL=INFO +LOG_FILE=logs/tianfeng_task.log \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..96d44b7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,43 @@ +# 使用Python 3.11作为基础镜像 +FROM python:3.11-slim + +# 设置工作目录 +WORKDIR /app + +# 设置环境变量 +ENV PYTHONDONTWRITEBYTECODE=1 \ + PYTHONUNBUFFERED=1 \ + TIANFENG_ENV=default \ + HOST=0.0.0.0 \ + PORT=8000 \ + DEBUG=false + +# 安装系统依赖 +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential \ + default-libmysqlclient-dev \ + netcat-traditional \ + curl \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +# 复制项目文件 +COPY . /app/ + +# 安装Python依赖 +RUN pip install --no-cache-dir -r requirements.txt + +# 创建日志目录 +RUN mkdir -p /app/logs && chmod 777 /app/logs + +# 设置启动脚本权限 +RUN chmod +x /app/scripts/docker-entrypoint.sh + +# 暴露端口 +EXPOSE 8000 + +# 设置启动脚本为入口点 +ENTRYPOINT ["/app/scripts/docker-entrypoint.sh"] + +# 启动命令 +CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"] \ No newline at end of file diff --git a/README.md b/README.md index fb94241..ec9a4c9 100644 --- a/README.md +++ b/README.md @@ -369,7 +369,7 @@ tianfeng_task/ ### 环境要求 -- Python 3.8+ +- Python 3.11+ - 数据库(MySQL/PostgreSQL) - Node.js 14+(前端开发) @@ -428,4 +428,98 @@ tianfeng_task/ ## 联系方式 -如有问题或建议,请联系系统管理员或开发团队。 \ No newline at end of file +如有问题或建议,请联系系统管理员或开发团队。 + +# Docker部署说明 + +## 使用Docker部署天风任务模块 + +本项目支持使用Docker进行部署,以下是部署步骤: + +### 前提条件 + +- 安装Docker和Docker Compose +- 确保端口8000、3306和6379未被占用 + +### 部署步骤 + +1. 克隆代码仓库 + +```bash +git clone <仓库地址> +cd tianfeng_task +``` + +2. 使用Docker Compose构建并启动服务 + +```bash +docker-compose up -d +``` + +这将启动三个容器: +- tianfeng-task: 应用服务 +- tianfeng-mysql: MySQL数据库 +- tianfeng-redis: Redis缓存 + +3. 验证服务是否正常运行 + +```bash +docker-compose ps +``` + +4. 访问API文档 + +打开浏览器,访问 http://localhost:8000/docs 查看API文档。 + +### 环境变量配置 + +可以通过修改`docker-compose.yml`文件中的环境变量来配置应用: + +```yaml +environment: + - TIANFENG_ENV=default # 环境名称 + - DEBUG=false # 是否开启调试模式 + - DB_HOST=db # 数据库主机 + - DB_PORT=3306 # 数据库端口 + - DB_USER=root # 数据库用户名 + - DB_PASSWORD=password # 数据库密码 + - DB_NAME=tianfeng_task # 数据库名称 + - REDIS_HOST=redis # Redis主机 + - REDIS_PORT=6379 # Redis端口 + - REDIS_DB=0 # Redis数据库索引 +``` + +### 单独构建Docker镜像 + +如果需要单独构建Docker镜像,可以使用以下命令: + +```bash +docker build -t tianfeng-task:latest . +``` + +### 停止服务 + +```bash +docker-compose down +``` + +如果需要同时删除数据卷(会删除所有数据): + +```bash +docker-compose down -v +``` + +### 查看日志 + +```bash +# 查看所有服务的日志 +docker-compose logs + +# 查看特定服务的日志 +docker-compose logs app +docker-compose logs db +docker-compose logs redis + +# 实时查看日志 +docker-compose logs -f app +``` \ No newline at end of file diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc index a77215d..4857de9 100644 Binary files a/__pycache__/app.cpython-312.pyc and b/__pycache__/app.cpython-312.pyc differ diff --git a/api/__pycache__/common_params_api.cpython-312.pyc b/api/__pycache__/common_params_api.cpython-312.pyc new file mode 100644 index 0000000..cf3b6b8 Binary files /dev/null and b/api/__pycache__/common_params_api.cpython-312.pyc differ diff --git a/api/__pycache__/component_api.cpython-312.pyc b/api/__pycache__/component_api.cpython-312.pyc index f83c009..d5a3f91 100644 Binary files a/api/__pycache__/component_api.cpython-312.pyc and b/api/__pycache__/component_api.cpython-312.pyc differ diff --git a/api/__pycache__/models.cpython-312.pyc b/api/__pycache__/models.cpython-312.pyc index a2be127..d44e6ea 100644 Binary files a/api/__pycache__/models.cpython-312.pyc and b/api/__pycache__/models.cpython-312.pyc differ diff --git a/api/__pycache__/task_api.cpython-312.pyc b/api/__pycache__/task_api.cpython-312.pyc index b027e8b..3df85b6 100644 Binary files a/api/__pycache__/task_api.cpython-312.pyc and b/api/__pycache__/task_api.cpython-312.pyc differ diff --git a/api/__pycache__/workflow_api.cpython-312.pyc b/api/__pycache__/workflow_api.cpython-312.pyc index cfd0f5d..aab2c63 100644 Binary files a/api/__pycache__/workflow_api.cpython-312.pyc and b/api/__pycache__/workflow_api.cpython-312.pyc differ diff --git a/api/common_params_api.py b/api/common_params_api.py new file mode 100644 index 0000000..de583e9 --- /dev/null +++ b/api/common_params_api.py @@ -0,0 +1,96 @@ +""" +常用参数API模块 +提供获取各种常用参数数据的接口 +""" +from typing import Dict, Any, List, Optional +from fastapi import APIRouter, HTTPException, Query +from pydantic import BaseModel, Field +from services.common_params_service import CommonParamsService +from config.component_config import CommonParamsConfig, CommonParamType +from api.models import ApiResponse + +# 创建路由器 +router = APIRouter(prefix="/common-params", tags=["常用参数"]) + +# 创建服务实例 +common_params_service = CommonParamsService() + +@router.get("/types", response_model=ApiResponse) +async def get_param_types(): + """获取所有常用参数类型""" + try: + param_types = CommonParamsConfig.get_param_types() + + return { + "code": ApiResponseCode.SUCCESS, + "message": "获取常用参数类型成功", + "data": { + "param_types": param_types + } + } + except Exception as e: + raise HTTPException( + status_code=ApiResponseCode.SERVER_ERROR, + detail=f"获取常用参数类型失败: {str(e)}" + ) + +@router.get("/data/{param_type}", response_model=ApiResponse) +async def get_param_data(param_type: str): + """获取指定类型的常用参数数据""" + try: + # 检查参数类型是否有效 + param_type_config = CommonParamsConfig.get_param_type_by_type(param_type) + if not param_type_config: + return { + "code": ApiResponseCode.NOT_FOUND, + "message": f"未找到参数类型: {param_type}", + "data": {"param_data": []} + } + + # 获取参数数据 + param_data = common_params_service.get_param_data(param_type) + + return { + "code": ApiResponseCode.SUCCESS, + "message": f"获取{param_type_config['name']}数据成功", + "data": { + "param_type": param_type_config, + "param_data": param_data + } + } + except Exception as e: + raise HTTPException( + status_code=ApiResponseCode.SERVER_ERROR, + detail=f"获取常用参数数据失败: {str(e)}" + ) + +@router.get("/all", response_model=ApiResponse) +async def get_all_param_data(): + """获取所有常用参数数据""" + try: + # 获取所有参数类型 + param_types = CommonParamsConfig.get_param_types() + + # 获取所有参数数据 + all_param_data = {} + for param_type_config in param_types: + param_type = param_type_config["type"] + param_data = common_params_service.get_param_data(param_type) + all_param_data[param_type] = { + "param_type": param_type_config, + "param_data": param_data + } + + return { + "code": ApiResponseCode.SUCCESS, + "message": "获取所有常用参数数据成功", + "data": { + "param_types": param_types, + "all_param_data": all_param_data + } + } + except Exception as e: + raise HTTPException( + status_code=ApiResponseCode.SERVER_ERROR, + detail=f"获取所有常用参数数据失败: {str(e)}" + ) \ No newline at end of file diff --git a/api/component_api.py b/api/component_api.py index f03d918..0311d78 100644 --- a/api/component_api.py +++ b/api/component_api.py @@ -1,13 +1,9 @@ # api/component_api.py from typing import Dict, Any, List, Optional -from fastapi import APIRouter, HTTPException -from pydantic import BaseModel +from fastapi import APIRouter, HTTPException, Depends, Query +from pydantic import BaseModel, Field from services.component_service import ComponentService -from config.component_config import ( - ComponentDiscovery, - ComponentCategory -) -from config.component_detail_config import ComponentDetailConfig +from config.component_config import ComponentDetailConfig, ComponentCategoryConfig from config.api_config import ( ApiResponseCode, ApiResponseMessage @@ -44,10 +40,10 @@ async def get_components(): component_categories = {} for component_type in component_types: # 根据组件类型推断类别 - category = ComponentCategory.BASE # 默认类别 + category = ComponentCategoryConfig.BASE # 默认类别 # 使用配置文件中的映射关系确定组件类别 - mapping = ComponentCategory.get_mapping() + mapping = ComponentCategoryConfig.get_mapping() for prefix, cat in mapping.items(): if component_type.startswith(prefix): category = cat diff --git a/api/models.py b/api/models.py deleted file mode 100644 index 90084f6..0000000 --- a/api/models.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -""" -API模型模块 -包含API请求和响应的数据模型 -""" - -from typing import Dict, Any, List, Optional, Literal -from pydantic import BaseModel, Field, validator -from config.component_config import ComponentDiscovery -from config.task_config import TASK_TYPE_CONFIG, TaskType, TaskStatus -from enum import Enum - -# 获取所有任务类型的key值 -TASK_TYPE_KEYS = list(TASK_TYPE_CONFIG.keys()) - -# 排序字段枚举 -class SortField(str, Enum): - CREATED_AT = "created_at" - UPDATED_AT = "updated_at" - NAME = "name" - -# 排序方式枚举 -class SortOrder(str, Enum): - ASC = "asc" - DESC = "desc" - -# 通用响应模型 -class ApiResponse(BaseModel): - code: int = Field(..., description="状态码") - message: str = Field(..., description="消息") - data: Optional[dict] = Field(None, description="数据") - -# 任务相关模型 -class TaskInput(BaseModel): - name: str = Field(..., description="任务名称") - task_type: TaskType = Field( - ..., - description="任务类型,可选值为:" + ", ".join([t.value for t in TaskType]), - example=TaskType.NORMAL - ) - -class TaskBatchInput(BaseModel): - tasks: List[TaskInput] - -class TaskIdList(BaseModel): - task_ids: List[str] - -class TaskTypeInfo(BaseModel): - key: str - name: str - description: str - -# 工作流相关模型 -class WorkflowInput(BaseModel): - name: str - workflow_type: Optional[str] = "normal" - description: Optional[str] = "" - blocks: Optional[List[Dict[str, Any]]] = [] - variables: Optional[Dict[str, Any]] = {} - schedule: Optional[Dict[str, Any]] = None - -class WorkflowUpdateInput(BaseModel): - name: Optional[str] = None - description: Optional[str] = None - blocks: Optional[List[Dict[str, Any]]] = None - variables: Optional[Dict[str, Any]] = None - schedule: Optional[Dict[str, Any]] = None - -class WorkflowExecuteInput(BaseModel): - task_inputs: Optional[Dict[str, Any]] = None - -class WorkflowImportInput(BaseModel): - workflow_json: str - -# 组件相关模型 -class ComponentDiscoverInput(BaseModel): - package_name: Optional[str] = ComponentDiscovery.DEFAULT_PACKAGE - -# 任务编辑相关模型 -class TaskUpdateInput(BaseModel): - name: Optional[str] = None - description: Optional[str] = None - task_type: Optional[TaskType] = None - blocks: Optional[List[Dict[str, Any]]] = None - variables: Optional[Dict[str, Any]] = None - schedule: Optional[Dict[str, Any]] = None - -class TaskEditInput(BaseModel): - task_id: str - blocks: List[Dict[str, Any]] - variables: Optional[Dict[str, Any]] = {} \ No newline at end of file diff --git a/api/models/__init__.py b/api/models/__init__.py new file mode 100644 index 0000000..1e233f2 --- /dev/null +++ b/api/models/__init__.py @@ -0,0 +1,22 @@ +""" +API模型包 +包含API请求和响应的数据模型 +""" + +# 导出基础模型 +from api.models.base import ApiResponse, SortField, SortOrder + +# 导出任务相关模型 +from api.models.task import ( + TaskInput, TaskBatchInput, TaskIdList, TaskTypeInfo, + TaskUpdateInput, TaskEditInput +) + +# 导出工作流相关模型 +from api.models.workflow import ( + WorkflowInput, WorkflowUpdateInput, + WorkflowExecuteInput, WorkflowImportInput +) + +# 导出组件相关模型 +from api.models.component import ComponentDiscoverInput \ No newline at end of file diff --git a/api/models/__pycache__/__init__.cpython-312.pyc b/api/models/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000..b5c528e Binary files /dev/null and b/api/models/__pycache__/__init__.cpython-312.pyc differ diff --git a/api/models/__pycache__/base.cpython-312.pyc b/api/models/__pycache__/base.cpython-312.pyc new file mode 100644 index 0000000..06c4c62 Binary files /dev/null and b/api/models/__pycache__/base.cpython-312.pyc differ diff --git a/api/models/__pycache__/component.cpython-312.pyc b/api/models/__pycache__/component.cpython-312.pyc new file mode 100644 index 0000000..d32714d Binary files /dev/null and b/api/models/__pycache__/component.cpython-312.pyc differ diff --git a/api/models/__pycache__/task.cpython-312.pyc b/api/models/__pycache__/task.cpython-312.pyc new file mode 100644 index 0000000..d6bbee4 Binary files /dev/null and b/api/models/__pycache__/task.cpython-312.pyc differ diff --git a/api/models/__pycache__/workflow.cpython-312.pyc b/api/models/__pycache__/workflow.cpython-312.pyc new file mode 100644 index 0000000..2ada10e Binary files /dev/null and b/api/models/__pycache__/workflow.cpython-312.pyc differ diff --git a/api/models/base.py b/api/models/base.py new file mode 100644 index 0000000..74cebe8 --- /dev/null +++ b/api/models/base.py @@ -0,0 +1,25 @@ +""" +基础API模型模块 +包含通用的API请求和响应的数据模型 +""" + +from typing import Dict, Any, List, Optional +from pydantic import BaseModel, Field +from enum import Enum + +# 排序字段枚举 +class SortField(str, Enum): + CREATED_AT = "created_at" + UPDATED_AT = "updated_at" + NAME = "name" + +# 排序方式枚举 +class SortOrder(str, Enum): + ASC = "asc" + DESC = "desc" + +# 通用响应模型 +class ApiResponse(BaseModel): + code: int = Field(..., description="状态码") + message: str = Field(..., description="消息") + data: Optional[dict] = Field(None, description="数据") \ No newline at end of file diff --git a/api/models/component.py b/api/models/component.py new file mode 100644 index 0000000..4a27c61 --- /dev/null +++ b/api/models/component.py @@ -0,0 +1,12 @@ +""" +组件API模型模块 +包含组件相关的API请求和响应的数据模型 +""" + +from typing import Dict, Any, List, Optional +from pydantic import BaseModel, Field +from config.component_config import ComponentDiscovery + +# 组件相关模型 +class ComponentDiscoverInput(BaseModel): + package_name: Optional[str] = ComponentDiscovery.DEFAULT_PACKAGE \ No newline at end of file diff --git a/api/models/task.py b/api/models/task.py new file mode 100644 index 0000000..079078b --- /dev/null +++ b/api/models/task.py @@ -0,0 +1,46 @@ +""" +任务API模型模块 +包含任务相关的API请求和响应的数据模型 +""" + +from typing import Dict, Any, List, Optional +from pydantic import BaseModel, Field +from config.task_config import TaskType, TaskStatus + +# 任务相关模型 +class TaskInput(BaseModel): + name: str = Field(..., description="任务名称") + task_type: TaskType = Field( + ..., + description="任务类型,可选值为:" + ", ".join([t.value for t in TaskType]), + example=TaskType.NORMAL + ) + +class TaskBatchInput(BaseModel): + tasks: List[TaskInput] + +class TaskIdList(BaseModel): + task_ids: List[str] + +class TaskTypeInfo(BaseModel): + key: str + name: str + description: str + +# 任务编辑相关模型 +class TaskUpdateInput(BaseModel): + name: Optional[str] = None + description: Optional[str] = None + task_type: Optional[TaskType] = None + blocks: Optional[List[Dict[str, Any]]] = None + variables: Optional[Dict[str, Any]] = None + schedule: Optional[Dict[str, Any]] = None + +class TaskEditInput(BaseModel): + task_id: str + blocks: List[Dict[str, Any]] + variables: Optional[Dict[str, Any]] = {} + priority: Optional[int] = Field(1, description="任务优先级") + input_params: Optional[Dict[str, Any]] = Field(None, description="任务输入参数") + block_outputs: Optional[Dict[str, Any]] = Field(None, description="块输出参数") + context_params: Optional[Dict[str, Any]] = Field(None, description="上下文参数") \ No newline at end of file diff --git a/api/models/workflow.py b/api/models/workflow.py new file mode 100644 index 0000000..5eb78f7 --- /dev/null +++ b/api/models/workflow.py @@ -0,0 +1,29 @@ +""" +工作流API模型模块 +包含工作流相关的API请求和响应的数据模型 +""" + +from typing import Dict, Any, List, Optional +from pydantic import BaseModel, Field + +# 工作流相关模型 +class WorkflowInput(BaseModel): + name: str + workflow_type: Optional[str] = "normal" + description: Optional[str] = "" + blocks: Optional[List[Dict[str, Any]]] = [] + variables: Optional[Dict[str, Any]] = {} + schedule: Optional[Dict[str, Any]] = None + +class WorkflowUpdateInput(BaseModel): + name: Optional[str] = None + description: Optional[str] = None + blocks: Optional[List[Dict[str, Any]]] = None + variables: Optional[Dict[str, Any]] = None + schedule: Optional[Dict[str, Any]] = None + +class WorkflowExecuteInput(BaseModel): + task_inputs: Optional[Dict[str, Any]] = None + +class WorkflowImportInput(BaseModel): + workflow_json: str \ No newline at end of file diff --git a/api/task_api.py b/api/task_api.py index b870358..1ecb402 100644 --- a/api/task_api.py +++ b/api/task_api.py @@ -3,6 +3,7 @@ from typing import Dict, Any, List, Optional from fastapi import APIRouter, HTTPException, Depends, Query from pydantic import BaseModel, Field from services.task_service import TaskService +from services.task_instance_service import TaskInstanceService from core.exceptions import TianfengTaskError from config.task_config import ( get_all_task_types, @@ -17,15 +18,21 @@ from config.task_config import ( DEFAULT_TASK_DESCRIPTION, DEFAULT_TEMPLATE_DESCRIPTION, TaskType, - TaskStatus + TaskStatus, + TaskInputParamConfig, + SystemParamKey +) +from api.models import ( + ApiResponse, TaskInput, TaskBatchInput, TaskIdList, + TaskTypeInfo, SortField, SortOrder, TaskUpdateInput, TaskEditInput ) -from api.models import ApiResponse, TaskInput, TaskBatchInput, TaskIdList, TaskTypeInfo, SortField, SortOrder, TaskUpdateInput, TaskEditInput # 创建路由器 router = APIRouter(tags=["任务管理"]) # 创建服务实例 task_service = TaskService() +task_instance_service = TaskInstanceService() @router.get("/tasks", response_model=ApiResponse) async def get_tasks( @@ -329,10 +336,48 @@ async def edit_task(task_edit: TaskEditInput): variables=task_edit.variables ) + # 获取编辑中的任务实例 + editing_instance = task_instance_service.get_editing_instance_by_task_id(task_edit.task_id) + + # 准备更新的参数 + update_params = { + "variables": task_edit.variables, + "priority": task_edit.priority if hasattr(task_edit, "priority") else None + } + + # 如果有自定义输入参数,添加到更新参数中 + if hasattr(task_edit, "input_params") and task_edit.input_params is not None: + update_params["input_params"] = task_edit.input_params + + # 如果有块输出参数,添加到更新参数中 + if hasattr(task_edit, "block_outputs") and task_edit.block_outputs is not None: + update_params["block_outputs"] = task_edit.block_outputs + + # 如果有上下文参数,添加到更新参数中 + if hasattr(task_edit, "context_params") and task_edit.context_params is not None: + update_params["context_params"] = task_edit.context_params + + if editing_instance: + # 更新编辑中的任务实例 + instance = task_instance_service.update_instance( + instance_id=editing_instance["instance_id"], + **update_params + ) + else: + # 创建新的任务实例 + instance = task_instance_service.create_instance( + task_id=task_edit.task_id, + name=task.get("name"), + **update_params + ) + return { "code": 200, "message": "编辑任务成功", - "data": {"task": updated_task} + "data": { + "task": updated_task, + "instance": instance + } } except Exception as e: raise HTTPException(status_code=500, detail=f"编辑任务失败: {str(e)}") @@ -350,6 +395,9 @@ async def get_task_edit_info(task_id: str): "data": None } + # 获取或创建编辑中的任务实例 + instance = task_instance_service.get_or_create_editing_instance(task_id) + # 获取可用的子任务列表(排除当前任务自身) available_subtasks = [] try: @@ -363,9 +411,11 @@ async def get_task_edit_info(task_id: str): except Exception as e: # 如果获取任务列表失败,记录错误但继续执行 print(f"获取可用子任务列表失败: {str(e)}") + # 获取组件详细信息 - from config.component_detail_config import ComponentDetailConfig + from config.component_config import ComponentDetailConfig component_details = ComponentDetailConfig.get_all_components() + # 获取组件类型中文名称映射 component_type_names = ComponentDetailConfig.get_component_type_names() @@ -387,17 +437,56 @@ async def get_task_edit_info(task_id: str): # 添加组件到对应类型下 component_types[component_type]["components"].append(component) - # 不再将子任务列表嵌入到组件类型对象中 - if "subtask" in component_types: - component_types["subtask"]["available_subtasks"] = available_subtasks + # 获取常用参数数据 + from services.common_params_service import CommonParamsService + from config.component_config import CommonParamsConfig + + common_params_service = CommonParamsService() + param_types = CommonParamsConfig.get_param_types() + + # 获取所有常用参数数据 + common_params = {} + for param_type_config in param_types: + param_type = param_type_config["type"] + param_data = common_params_service.get_param_data(param_type) + common_params[param_type] = { + "type_info": param_type_config, + "data": param_data + } + + # 从配置文件中获取系统默认参数 + task_input_params = TaskInputParamConfig.build_system_params_with_values(task_id, instance) + + # 如果实例中有自定义的输入参数,添加到列表中 + if instance.get("input_params"): + for key, value in instance["input_params"].items(): + # 检查是否已存在同名参数 + if not any(param["key"] == key for param in task_input_params): + task_input_params.append({ + "key": key, + "name": key, # 可以根据需要设置更友好的名称 + "value": value, + "type": "string", # 可以根据值的类型动态设置 + "is_system": False, + "is_readonly": False + }) + + # 获取块输出参数和上下文参数 + block_output_params = instance.get("block_outputs", {}) + context_params = instance.get("context_params", {}) return { "code": 200, "message": "获取任务编辑信息成功", "data": { "task": task, + "instance": instance, "component_types": component_types, - "available_subtasks": available_subtasks # 作为单独的字段返回 + "available_subtasks": available_subtasks, + "common_params": common_params, + "task_input_params": task_input_params, + "block_output_params": block_output_params, + "context_params": context_params } } except Exception as e: @@ -429,3 +518,42 @@ async def get_available_subtasks(current_task_id: Optional[str] = None): except Exception as e: raise HTTPException(status_code=500, detail=f"获取可用子任务列表失败: {str(e)}") +@router.post("/task/{task_id}/publish", response_model=ApiResponse) +async def publish_task(task_id: str): + """发布任务(将编辑中的任务实例状态更改为已发布)""" + try: + # 检查任务是否存在 + task = task_service.get_task_by_id(task_id) + if not task: + return { + "code": 404, + "message": f"任务 {task_id} 不存在", + "data": None + } + + # 获取编辑中的任务实例 + editing_instance = task_instance_service.get_editing_instance_by_task_id(task_id) + if not editing_instance: + return { + "code": 404, + "message": f"任务 {task_id} 没有编辑中的实例", + "data": None + } + + # 发布任务实例 + published_instance = task_instance_service.publish_instance(editing_instance["instance_id"]) + + # 构建响应数据 + response_data = { + "task": task, + "instance": published_instance + } + + return { + "code": 200, + "message": "发布任务成功", + "data": response_data + } + except Exception as e: + raise HTTPException(status_code=500, detail=f"发布任务失败: {str(e)}") + diff --git a/api/task_instance_api.py b/api/task_instance_api.py new file mode 100644 index 0000000..22c80b3 --- /dev/null +++ b/api/task_instance_api.py @@ -0,0 +1,218 @@ +""" +任务实例API模块 +提供任务实例的增删改查接口 +""" +from typing import Dict, Any, List, Optional +from fastapi import APIRouter, HTTPException, Query +from pydantic import BaseModel, Field +from services.task_instance_service import TaskInstanceService, TaskInstanceStatus +from api.models import ApiResponse + +# 创建路由器 +router = APIRouter(prefix="/task-instances", tags=["任务实例"]) + +# 创建服务实例 +task_instance_service = TaskInstanceService() + +# 请求模型 +class TaskInstanceCreateInput(BaseModel): + """任务实例创建输入模型""" + task_id: str = Field(..., description="任务ID") + name: Optional[str] = Field(None, description="任务名称") + variables: Optional[Dict[str, Any]] = Field(None, description="任务变量") + priority: int = Field(1, description="任务优先级") + input_params: Optional[Dict[str, Any]] = Field(None, description="任务输入参数") + block_outputs: Optional[Dict[str, Any]] = Field(None, description="块输出参数") + context_params: Optional[Dict[str, Any]] = Field(None, description="上下文参数") + +class TaskInstanceUpdateInput(BaseModel): + """任务实例更新输入模型""" + variables: Optional[Dict[str, Any]] = Field(None, description="任务变量") + priority: Optional[int] = Field(None, description="任务优先级") + input_params: Optional[Dict[str, Any]] = Field(None, description="任务输入参数") + block_outputs: Optional[Dict[str, Any]] = Field(None, description="块输出参数") + context_params: Optional[Dict[str, Any]] = Field(None, description="上下文参数") + +# API接口 +@router.post("/create", response_model=ApiResponse) +async def create_task_instance(instance_input: TaskInstanceCreateInput): + """创建任务实例""" + try: + # 创建任务实例 + instance = task_instance_service.create_instance( + task_id=instance_input.task_id, + name=instance_input.name, + variables=instance_input.variables, + priority=instance_input.priority, + input_params=instance_input.input_params, + block_outputs=instance_input.block_outputs, + context_params=instance_input.context_params + ) + + return { + "code": 200, + "message": "创建任务实例成功", + "data": instance + } + except ValueError as e: + return { + "code": 400, + "message": str(e), + "data": None + } + except Exception as e: + raise HTTPException(status_code=500, detail=f"创建任务实例失败: {str(e)}") + +@router.get("/{instance_id}", response_model=ApiResponse) +async def get_task_instance(instance_id: str): + """获取任务实例详情""" + try: + # 获取任务实例 + instance = task_instance_service.get_instance_by_id(instance_id) + if not instance: + return { + "code": 404, + "message": f"任务实例不存在: {instance_id}", + "data": None + } + + return { + "code": 200, + "message": "获取任务实例成功", + "data": instance + } + except Exception as e: + raise HTTPException(status_code=500, detail=f"获取任务实例失败: {str(e)}") + +@router.get("/task/{task_id}", response_model=ApiResponse) +async def get_task_instances(task_id: str): + """获取任务的所有实例""" + try: + # 获取任务实例 + instances = task_instance_service.get_instances_by_task_id(task_id) + + return { + "code": 200, + "message": "获取任务实例列表成功", + "data": { + "instances": instances, + "total": len(instances) + } + } + except Exception as e: + raise HTTPException(status_code=500, detail=f"获取任务实例列表失败: {str(e)}") + +@router.get("/task/{task_id}/latest", response_model=ApiResponse) +async def get_latest_task_instance(task_id: str): + """获取任务的最新实例""" + try: + # 获取最新任务实例 + instance = task_instance_service.get_latest_instance_by_task_id(task_id) + if not instance: + return { + "code": 404, + "message": f"任务 {task_id} 没有实例", + "data": None + } + + return { + "code": 200, + "message": "获取最新任务实例成功", + "data": instance + } + except Exception as e: + raise HTTPException(status_code=500, detail=f"获取最新任务实例失败: {str(e)}") + +@router.put("/{instance_id}", response_model=ApiResponse) +async def update_task_instance(instance_id: str, instance_input: TaskInstanceUpdateInput): + """更新任务实例""" + try: + # 更新任务实例 + instance = task_instance_service.update_instance( + instance_id=instance_id, + variables=instance_input.variables, + priority=instance_input.priority, + input_params=instance_input.input_params, + block_outputs=instance_input.block_outputs, + context_params=instance_input.context_params + ) + + if not instance: + return { + "code": 404, + "message": f"任务实例不存在: {instance_id}", + "data": None + } + + return { + "code": 200, + "message": "更新任务实例成功", + "data": instance + } + except Exception as e: + raise HTTPException(status_code=500, detail=f"更新任务实例失败: {str(e)}") + +@router.delete("/{instance_id}", response_model=ApiResponse) +async def delete_task_instance(instance_id: str): + """删除任务实例""" + try: + # 删除任务实例 + success = task_instance_service.delete_instance(instance_id) + + if not success: + return { + "code": 404, + "message": f"任务实例不存在: {instance_id}", + "data": None + } + + return { + "code": 200, + "message": "删除任务实例成功", + "data": None + } + except Exception as e: + raise HTTPException(status_code=500, detail=f"删除任务实例失败: {str(e)}") + +@router.post("/{instance_id}/publish", response_model=ApiResponse) +async def publish_task_instance(instance_id: str): + """发布任务实例""" + try: + # 发布任务实例 + instance = task_instance_service.publish_instance(instance_id) + + if not instance: + return { + "code": 404, + "message": f"任务实例不存在: {instance_id}", + "data": None + } + + return { + "code": 200, + "message": "发布任务实例成功", + "data": instance + } + except Exception as e: + raise HTTPException(status_code=500, detail=f"发布任务实例失败: {str(e)}") + +@router.get("/task/{task_id}/editing", response_model=ApiResponse) +async def get_or_create_editing_instance(task_id: str): + """获取或创建编辑中的任务实例""" + try: + # 获取或创建编辑中的任务实例 + instance = task_instance_service.get_or_create_editing_instance(task_id) + + return { + "code": 200, + "message": "获取编辑中的任务实例成功", + "data": instance + } + except ValueError as e: + return { + "code": 404, + "message": str(e), + "data": None + } + except Exception as e: + raise HTTPException(status_code=500, detail=f"获取编辑中的任务实例失败: {str(e)}") \ No newline at end of file diff --git a/api/workflow_api.py b/api/workflow_api.py index 9471bea..2c9e2ef 100644 --- a/api/workflow_api.py +++ b/api/workflow_api.py @@ -4,9 +4,12 @@ from fastapi import APIRouter, HTTPException, Depends, Query from pydantic import BaseModel, Field from services.workflow_service import WorkflowService from core.exceptions import TianfengTaskError +from api.models import ( + ApiResponse, WorkflowInput, WorkflowUpdateInput, + WorkflowExecuteInput, WorkflowImportInput +) from core.workflow import WorkflowDefinition from config.api_config import ApiResponseCode, ApiResponseMessage -from api.models import ApiResponse, WorkflowInput, WorkflowUpdateInput, WorkflowExecuteInput, WorkflowImportInput # 创建路由器 router = APIRouter(prefix="/workflow", tags=["工作流管理"]) diff --git a/app.py b/app.py index cd01204..ebe9022 100644 --- a/app.py +++ b/app.py @@ -5,13 +5,14 @@ from fastapi.middleware.cors import CORSMiddleware import logging import time from utils.logger import setup_logger -from config.component_registry import register_all_components +from config.component_config import register_all_components from config.settings import ( AppConfig, ServerConfig, ApiConfig, CorsConfig ) from api.task_api import router as task_router from api.workflow_api import router as workflow_router from api.component_api import router as component_router +from api.common_params_api import router as common_params_router from core.exceptions import TianfengTaskError from config.api_config import ApiResponseCode, ApiResponseMessage from config.component_config import ComponentCategoryConfig @@ -120,6 +121,7 @@ register_all_components() app.include_router(task_router, prefix=ApiConfig.PREFIX) app.include_router(workflow_router, prefix=ApiConfig.PREFIX) app.include_router(component_router, prefix=ApiConfig.PREFIX) +app.include_router(common_params_router, prefix=ApiConfig.PREFIX) # 请求中间件 @app.middleware("http") diff --git a/config/__pycache__/common_params_config.cpython-312.pyc b/config/__pycache__/common_params_config.cpython-312.pyc new file mode 100644 index 0000000..7510b4f Binary files /dev/null and b/config/__pycache__/common_params_config.cpython-312.pyc differ diff --git a/config/__pycache__/component_config.cpython-312.pyc b/config/__pycache__/component_config.cpython-312.pyc index 8988d8f..dca9195 100644 Binary files a/config/__pycache__/component_config.cpython-312.pyc and b/config/__pycache__/component_config.cpython-312.pyc differ diff --git a/config/__pycache__/component_init_config.cpython-312.pyc b/config/__pycache__/component_init_config.cpython-312.pyc new file mode 100644 index 0000000..05421dc Binary files /dev/null and b/config/__pycache__/component_init_config.cpython-312.pyc differ diff --git a/config/__pycache__/task_config.cpython-312.pyc b/config/__pycache__/task_config.cpython-312.pyc index d9f6f6b..1e5ad47 100644 Binary files a/config/__pycache__/task_config.cpython-312.pyc and b/config/__pycache__/task_config.cpython-312.pyc differ diff --git a/config/component_config.py b/config/component_config.py index 0ce5190..c093efa 100644 --- a/config/component_config.py +++ b/config/component_config.py @@ -1,15 +1,185 @@ """ -组件配置文件 -包含组件发现、注册和分类的相关配置 +组件配置模块 +包含组件类型、详细配置、注册和常用参数等相关配置信息 """ -from typing import Dict, List, Any -from data.models.component import ComponentCategoryEnum +from typing import Dict, List, Any, Optional +from enum import Enum +from core.component import ComponentFactory +import importlib +from config.settings import COMPONENT_PACKAGES +from utils.logger import get_logger + +# 获取日志记录器 +logger = get_logger(__name__) + +################################################# +# 组件初始化配置 +################################################# + +# 组件类别配置 +COMPONENT_CATEGORIES = [ + {"name": "基础组件", "code": "basic", "description": "基础功能组件", "sort_order": 1}, + {"name": "流程组件", "code": "flow", "description": "流程控制组件", "sort_order": 2}, + {"name": "机器人组件", "code": "robot", "description": "机器人控制组件", "sort_order": 3}, + {"name": "库位组件", "code": "storage", "description": "库位管理组件", "sort_order": 4}, + {"name": "设备组件", "code": "device", "description": "设备控制组件", "sort_order": 5}, + {"name": "HTTP组件", "code": "http", "description": "HTTP请求组件", "sort_order": 6}, + {"name": "脚本组件", "code": "script", "description": "脚本执行组件", "sort_order": 7}, + {"name": "子任务组件", "code": "subtask", "description": "子任务组件", "sort_order": 8}, + {"name": "任务组件", "code": "task", "description": "任务管理组件", "sort_order": 9} +] + +# 组件类型配置 +def get_component_types(categories): + """ + 获取组件类型配置 + + Args: + categories: 类别ID映射字典 {类别代码: 类别ID} + + Returns: + list: 组件类型配置列表 + """ + return [ + # 基础组件 + {"name": "变量赋值", "code": "variable_assign", "category_id": categories["basic"], "description": "为变量赋值", "icon": "variable", "sort_order": 1}, + {"name": "条件判断", "code": "condition", "category_id": categories["basic"], "description": "条件判断", "icon": "condition", "sort_order": 2}, + {"name": "延时等待", "code": "delay", "category_id": categories["basic"], "description": "延时等待", "icon": "delay", "sort_order": 3}, + + # 流程组件 + {"name": "If条件", "code": "if", "category_id": categories["flow"], "description": "If条件判断", "icon": "if", "sort_order": 1}, + {"name": "If-Else条件", "code": "if_else", "category_id": categories["flow"], "description": "If-Else条件判断", "icon": "if_else", "sort_order": 2}, + {"name": "循环", "code": "loop", "category_id": categories["flow"], "description": "循环执行", "icon": "loop", "sort_order": 3}, + {"name": "并行执行", "code": "parallel", "category_id": categories["flow"], "description": "并行执行多个分支", "icon": "parallel", "sort_order": 4}, + + # 机器人组件 + {"name": "选择机器人", "code": "select_robot", "category_id": categories["robot"], "description": "选择执行机器人", "icon": "robot", "sort_order": 1}, + {"name": "机器人移动", "code": "robot_move", "category_id": categories["robot"], "description": "控制机器人移动", "icon": "move", "sort_order": 2}, + {"name": "获取机器人状态", "code": "robot_status", "category_id": categories["robot"], "description": "获取机器人状态", "icon": "status", "sort_order": 3}, + + # HTTP组件 + {"name": "HTTP请求", "code": "http_request", "category_id": categories["http"], "description": "发送HTTP请求", "icon": "http", "sort_order": 1}, + {"name": "API调用", "code": "api_call", "category_id": categories["http"], "description": "调用系统API", "icon": "api", "sort_order": 2}, + + # 脚本组件 + {"name": "JavaScript脚本", "code": "javascript", "category_id": categories["script"], "description": "执行JavaScript脚本", "icon": "script", "sort_order": 1}, + + # 子任务组件 + {"name": "执行子任务", "code": "execute_subtask", "category_id": categories["subtask"], "description": "执行子任务", "icon": "subtask", "sort_order": 1} + ] + +# 系统组件配置 +def get_system_components(types): + """ + 获取系统组件配置 + + Args: + types: 组件类型ID映射字典 {类型代码: 类型ID} + + Returns: + list: 系统组件配置列表 + """ + return [ + { + "name": "变量赋值", + "code": "variable_assign", + "type_id": types["variable_assign"], + "description": "为变量赋值", + "is_system": True, + "config_schema": { + "type": "object", + "properties": { + "variable_name": {"type": "string", "title": "变量名"}, + "value_type": {"type": "string", "enum": ["string", "number", "boolean", "object"], "title": "值类型"}, + "value": {"type": "string", "title": "值"} + }, + "required": ["variable_name", "value_type", "value"] + }, + "input_schema": {}, + "output_schema": { + "type": "object", + "properties": { + "result": {"type": "boolean", "title": "执行结果"} + } + } + }, + { + "name": "条件判断", + "code": "condition", + "type_id": types["condition"], + "description": "条件判断", + "is_system": True, + "config_schema": { + "type": "object", + "properties": { + "condition": {"type": "string", "title": "条件表达式"} + }, + "required": ["condition"] + }, + "input_schema": {}, + "output_schema": { + "type": "object", + "properties": { + "result": {"type": "boolean", "title": "判断结果"} + } + } + }, + { + "name": "If条件", + "code": "if", + "type_id": types["if"], + "description": "If条件判断", + "is_system": True, + "config_schema": { + "type": "object", + "properties": { + "condition": {"type": "string", "title": "条件表达式"} + }, + "required": ["condition"] + }, + "input_schema": {}, + "output_schema": { + "type": "object", + "properties": { + "result": {"type": "boolean", "title": "判断结果"} + } + } + } + ] + +# 缓存配置 +CACHE_EXPIRE_TIME = 86400 # 缓存过期时间,单位:秒(24小时) +CACHE_KEYS = { + "COMPONENT_CATEGORIES": "component_categories", + "COMPONENT_TYPES": "component_types", + "SYSTEM_COMPONENTS": "system_components" +} + +################################################# +# 组件自动发现与注册 +################################################# class ComponentDiscovery: """组件自动发现配置""" DEFAULT_PACKAGE = "components" # 默认组件包名 AUTO_REGISTER = True # 是否在启动时自动注册所有组件 +def register_all_components(): + """注册所有组件""" + + for package_name in COMPONENT_PACKAGES: + try: + ComponentFactory.auto_discover(package_name) + logger.info(f"自动注册组件包: {package_name}") + except ImportError: + logger.error(f"导入组件包失败: {package_name}") + except Exception as e: + logger.error(f"注册组件包失败: {package_name}, 错误: {str(e)}") + +################################################# +# 组件分类配置 +################################################# + class ComponentCategory: """组件类别配置""" # 组件类别定义 @@ -81,6 +251,8 @@ class ComponentCategoryConfig: @classmethod def get_category_name(cls, category_enum): """获取分类名称""" + from data.models.component import ComponentCategoryEnum + names = { ComponentCategoryEnum.SUBTASK: "子任务", ComponentCategoryEnum.SCRIPT: "脚本", @@ -97,6 +269,8 @@ class ComponentCategoryConfig: @classmethod def get_category_description(cls, category_enum): """获取分类描述""" + from data.models.component import ComponentCategoryEnum + descriptions = { ComponentCategoryEnum.SUBTASK: "可重用的子任务组件", ComponentCategoryEnum.SCRIPT: "执行脚本代码的组件", @@ -113,6 +287,8 @@ class ComponentCategoryConfig: @classmethod def get_category_order(cls, category_enum): """获取分类排序""" + from data.models.component import ComponentCategoryEnum + orders = { ComponentCategoryEnum.BASIC: 1, ComponentCategoryEnum.FLOW: 2, @@ -124,4 +300,607 @@ class ComponentCategoryConfig: ComponentCategoryEnum.STORAGE: 8, ComponentCategoryEnum.DEVICE: 9 } - return orders.get(category_enum, 99) \ No newline at end of file + return orders.get(category_enum, 99) + +################################################# +# 组件详细配置 +################################################# + +class ScriptComponentConfig: + """脚本组件配置""" + + # 脚本组件类型 + RUN_SCRIPT = "run_script" # 运行脚本 + SET_VARIABLES = "set_variables" # 设置task.variables + + # 脚本组件详细配置 + @classmethod + def get_components(cls) -> List[Dict[str, Any]]: + """获取脚本组件列表""" + return [ + { + "type": "script", + "sub_type": cls.RUN_SCRIPT, + "name": "运行脚本", + "description": "执行JavaScript代码并返回结果", + "icon": "code", # 图标名称,前端可用 + "params": [ + { + "name": "function_name", + "label": "函数名", + "type": "string", + "required": False, + "description": "定义脚本中的主函数名称", + "value_types": [ + { + "type": "simple", + "label": "简单值", + "default": True + }, + { + "type": "expression", + "label": "表达式", + "default": False + } + ] + }, + { + "name": "params", + "label": "函数参数", + "type": "array", + "required": False, + "description": "传递给脚本的参数", + "value_types": [ + { + "type": "simple", + "label": "简单值", + "default": True + }, + { + "type": "expression", + "label": "表达式", + "default": False + } + ] + } + ] + }, + { + "type": "script", + "sub_type": cls.SET_VARIABLES, + "name": "设置task.variables", + "description": "设置和管理任务变量", + "icon": "variable", + "params": [ + { + "name": "function_name", + "label": "函数名", + "type": "string", + "required": False, + "description": "定义脚本中的主函数名称", + "value_types": [ + { + "type": "simple", + "label": "简单值", + "default": True + }, + { + "type": "expression", + "label": "表达式", + "default": False + } + ] + }, + { + "name": "params", + "label": "函数参数", + "type": "array", + "required": False, + "description": "传递给脚本的参数", + "value_types": [ + { + "type": "simple", + "label": "简单值", + "default": True + }, + { + "type": "expression", + "label": "表达式", + "default": False + } + ] + } + ] + } + ] + +class HttpComponentConfig: + """HTTP请求组件配置""" + + # HTTP请求组件类型 + HTTP_REQUEST = "http_request" # HTTP请求 + + # HTTP请求组件详细配置 + @classmethod + def get_components(cls) -> List[Dict[str, Any]]: + """获取HTTP请求组件列表""" + return [ + { + "type": "http", + "sub_type": cls.HTTP_REQUEST, + "name": "HTTP请求", + "description": "发送HTTP请求并处理响应", + "icon": "http", + "params": [ + { + "name": "method", + "label": "请求方法", + "type": "select", + "options": ["GET", "POST", "PUT", "DELETE", "PATCH"], + "required": True, + "description": "HTTP请求方法" + }, + { + "name": "url", + "label": "请求URL", + "type": "string", + "required": True, + "description": "请求的目标URL" + }, + { + "name": "headers", + "label": "请求头", + "type": "object", + "required": False, + "description": "HTTP请求头" + }, + { + "name": "body", + "label": "请求体", + "type": "object", + "required": False, + "description": "HTTP请求体" + }, + { + "name": "timeout", + "label": "超时时间", + "type": "number", + "required": False, + "description": "请求超时时间(毫秒)" + } + ] + } + ] + +class FlowComponentConfig: + """流程控制组件配置""" + + # 流程控制组件类型 + IF = "if" # 条件判断 + IF_ELSE = "if_else" # 条件分支 + FOR_EACH = "for_each" # 循环遍历 + WHILE = "while" # 条件循环 + + # 流程控制组件详细配置 + @classmethod + def get_components(cls) -> List[Dict[str, Any]]: + """获取流程控制组件列表""" + return [ + { + "type": "flow", + "sub_type": cls.IF, + "name": "条件判断", + "description": "根据条件执行不同的操作", + "icon": "branch", + "params": [ + { + "name": "condition", + "label": "条件表达式", + "type": "expression", + "required": True, + "description": "条件判断表达式" + } + ] + }, + { + "type": "flow", + "sub_type": cls.IF_ELSE, + "name": "条件分支", + "description": "根据条件执行不同的分支", + "icon": "branch-multiple", + "params": [ + { + "name": "condition", + "label": "条件表达式", + "type": "expression", + "required": True, + "description": "条件判断表达式" + } + ] + }, + { + "type": "flow", + "sub_type": cls.FOR_EACH, + "name": "循环遍历", + "description": "遍历数组或对象的每个元素", + "icon": "loop", + "params": [ + { + "name": "collection", + "label": "集合表达式", + "type": "expression", + "required": True, + "description": "要遍历的数组或对象" + }, + { + "name": "item_name", + "label": "元素变量名", + "type": "string", + "required": True, + "description": "当前元素的变量名" + }, + { + "name": "index_name", + "label": "索引变量名", + "type": "string", + "required": False, + "description": "当前索引的变量名" + } + ] + }, + { + "type": "flow", + "sub_type": cls.WHILE, + "name": "条件循环", + "description": "当条件为真时重复执行", + "icon": "loop-circular", + "params": [ + { + "name": "condition", + "label": "条件表达式", + "type": "expression", + "required": True, + "description": "循环条件表达式" + } + ] + } + ] + +class SubtaskComponentConfig: + """子任务组件配置""" + + # 子任务组件类型 + SUBTASK = "subtask" # 子任务 + + # 子任务组件详细配置 + @classmethod + def get_components(cls) -> List[Dict[str, Any]]: + """获取子任务组件列表""" + return [ + { + "type": "subtask", + "sub_type": cls.SUBTASK, + "name": "子任务", + "description": "执行已定义的任务作为子任务", + "icon": "subtask", + "params": [ + { + "name": "task_id", + "label": "选择子任务", + "type": "select", + "required": True, + "description": "选择要执行的子任务(从已创建的任务中选择)", + "data_source": "available_subtasks", # 指示前端从API返回的available_subtasks字段获取数据 + "display_field": "name", # 显示任务名称 + "value_field": "task_id" # 使用任务ID作为值 + }, + { + "name": "params", + "label": "任务参数", + "type": "object", + "required": False, + "description": "传递给子任务的参数" + }, + { + "name": "wait_complete", + "label": "等待完成", + "type": "boolean", + "required": False, + "default": True, + "description": "是否等待子任务完成后再继续执行" + } + ] + } + ] + +class ComponentDetailConfig: + """组件详细配置管理""" + + # 组件类型中文名称映射 + @classmethod + def get_component_type_names(cls) -> Dict[str, str]: + """获取组件类型的中文名称映射""" + return { + # 基础类型 + "script": "脚本", + "http": "HTTP请求", + "flow": "流程", + "robot": "机器人调度", + "site": "库位", + "device": "设备", + "subtask": "子任务", + "task": "任务", + "basic": "基础", + + # 脚本组件 + "run_script": "运行脚本", + "set_task_variables": "设置任务变量", + "runscript": "运行脚本", + "settaskvariables": "设置任务变量", + + # HTTP请求组件 + "http_get_request": "GET请求", + "http_post_request": "POST请求", + "httpgetrequest": "GET请求", + "httppostrequest": "POST请求", + + # 流程控制组件 + "if": "条件判断", + "if_else": "条件分支", + "if_else_if": "多条件分支", + "for_each": "循环遍历", + "while": "条件循环", + "break": "跳出循环", + "return": "返回", + "delay": "延时", + "parallel_execute": "并行执行", + "serial_execute": "串行执行", + "throw_exception": "抛出异常", + "foreach": "循环遍历", + "ifelse": "条件分支", + "ifelseif": "多条件分支", + "parallelexecute": "并行执行", + "serialexecute": "串行执行", + "throwexception": "抛出异常", + + # 机器人调度组件 + "select_robot": "选择机器人", + "get_robot_position": "获取机器人位置", + "robot_action": "机器人动作", + "change_robot_destination": "更改机器人目的地", + "get_robot_battery": "获取机器人电量", + "get_robot_pgv_code": "获取机器人PGV码", + "changerobotdestination": "更改机器人目的地", + "getrobotbattery": "获取机器人电量", + "getrobotpgvcode": "获取机器人PGV码", + "getrobotposition": "获取机器人位置", + "robotaction": "机器人动作", + "selectrobot": "选择机器人", + + # 库位组件 + "batch_set_site": "批量设置库位", + "get_dense_site": "获取密集库位", + "query_site": "查询库位", + "lock_site": "锁定库位", + "unlock_site": "解锁库位", + "get_locked_sites_by_task": "获取任务锁定的库位", + "get_site_extension_property": "获取库位扩展属性", + "set_site_extension_property": "设置库位扩展属性", + "set_site_goods": "设置库位货物", + "set_site_empty": "设置库位为空", + "set_site_occupied": "设置库位为占用", + "set_site_tag": "设置库位标签", + "batchsetsite": "批量设置库位", + "getdensesite": "获取密集库位", + "getlockedsitesbytask": "获取任务锁定的库位", + "getsiteextensionproperty": "获取库位扩展属性", + "locksite": "锁定库位", + "querysite": "查询库位", + "setsiteempty": "设置库位为空", + "setsiteextensionproperty": "设置库位扩展属性", + "setsitegoods": "设置库位货物", + "setsiteoccupied": "设置库位为占用", + "setsitetag": "设置库位标签", + "unlocksite": "解锁库位", + + # 任务组件 + "cache_data": "缓存数据", + "clear_cache_data": "清除缓存数据", + "get_cache_data": "获取缓存数据", + "set_task_status": "设置任务状态", + "jump_to_block": "跳转到块", + "get_task_input_param": "获取任务输入参数", + "cachedata": "缓存数据", + "clearcachedata": "清除缓存数据", + "getcachedata": "获取缓存数据", + "gettaskinputparam": "获取任务输入参数", + "jumptoblock": "跳转到块", + "settaskstatus": "设置任务状态", + + # 基础组件 + "check_task_instance_id_exists": "检查任务实例ID是否存在", + "create_unique_id": "创建唯一ID", + "current_timestamp": "当前时间戳", + "current_time": "当前时间", + "execute_sql": "执行SQL", + "query_sql": "查询SQL", + "string_md5_encrypt": "字符串MD5加密", + "string_to_json_array": "字符串转JSON数组", + "string_to_json_object": "字符串转JSON对象", + "print": "打印", + "checktaskinstanceidexists": "检查任务实例ID是否存在", + "createuniqueid": "创建唯一ID", + "currenttime": "当前时间", + "currenttimestamp": "当前时间戳", + "executesql": "执行SQL", + "querysql": "查询SQL", + "stringmd5encrypt": "字符串MD5加密", + "stringtojsonarray": "字符串转JSON数组", + "stringtojsonobject": "字符串转JSON对象", + + # 设备组件 + "wait_modbus_value": "等待Modbus值", + "write_modbus_value": "写入Modbus值", + "waitmodbusvalue": "等待Modbus值", + "writemodbusvalue": "写入Modbus值" + } + + @classmethod + def get_all_components(cls) -> List[Dict[str, Any]]: + """获取所有组件详细配置""" + all_components = [] + + # 添加子任务组件(放在第一位) + all_components.extend(SubtaskComponentConfig.get_components()) + + # 添加脚本组件 + all_components.extend(ScriptComponentConfig.get_components()) + + # 添加HTTP请求组件 + all_components.extend(HttpComponentConfig.get_components()) + + # 添加流程控制组件 + all_components.extend(FlowComponentConfig.get_components()) + + # 可以继续添加其他类型的组件... + + return all_components + + @classmethod + def get_components_by_type(cls, component_type: str) -> List[Dict[str, Any]]: + """根据组件类型获取组件列表""" + all_components = cls.get_all_components() + return [comp for comp in all_components if comp["type"] == component_type] + +################################################# +# 常用参数配置 +################################################# + +class CommonParamType(str, Enum): + """常用参数类型枚举""" + ROBOT_ID = "robot_id" # 机器人ID + ROBOT_GROUP = "robot_group" # 机器人组 + ROBOT_TAG = "robot_tag" # 机器人标签 + STORAGE_AREA_ID = "storage_area_id" # 库区ID + STORAGE_AREA = "storage_area" # 库区 + SITE = "site" # 站点 + BIN_TASK = "bin_task" # binTask + WORKSTATION = "workstation" # 工位 + POST = "post" # 岗位 + USER = "user" # 用户 + CACHE = "cache" # 缓存 + BUILT_IN_FUNCTION = "built_in_function" # 内置函数 + +class CommonParamsConfig: + """常用参数配置类""" + + @classmethod + def get_param_types(cls) -> List[Dict[str, Any]]: + """获取所有常用参数类型""" + return [ + { + "type": CommonParamType.ROBOT_ID, + "name": "机器人ID", + "description": "选择机器人ID", + "api_path": "/api/robots/ids", # 获取数据的API路径 + "value_field": "id", # 值字段 + "display_field": "name" # 显示字段 + }, + { + "type": CommonParamType.ROBOT_GROUP, + "name": "机器人组", + "description": "选择机器人组", + "api_path": "/api/robots/groups", + "value_field": "id", + "display_field": "name" + }, + { + "type": CommonParamType.ROBOT_TAG, + "name": "机器人标签", + "description": "选择机器人标签", + "api_path": "/api/robots/tags", + "value_field": "id", + "display_field": "name" + }, + { + "type": CommonParamType.STORAGE_AREA_ID, + "name": "库区ID", + "description": "选择库区ID", + "api_path": "/api/storage/areas/ids", + "value_field": "id", + "display_field": "name" + }, + { + "type": CommonParamType.STORAGE_AREA, + "name": "库区", + "description": "选择库区", + "api_path": "/api/storage/areas", + "value_field": "id", + "display_field": "name" + }, + { + "type": CommonParamType.SITE, + "name": "站点", + "description": "选择站点", + "api_path": "/api/sites", + "value_field": "id", + "display_field": "name" + }, + { + "type": CommonParamType.BIN_TASK, + "name": "binTask", + "description": "选择binTask", + "api_path": "/api/bin-tasks", + "value_field": "id", + "display_field": "name" + }, + { + "type": CommonParamType.WORKSTATION, + "name": "工位", + "description": "选择工位", + "api_path": "/api/workstations", + "value_field": "id", + "display_field": "name" + }, + { + "type": CommonParamType.POST, + "name": "岗位", + "description": "选择岗位", + "api_path": "/api/posts", + "value_field": "id", + "display_field": "name" + }, + { + "type": CommonParamType.USER, + "name": "用户", + "description": "选择用户", + "api_path": "/api/users", + "value_field": "id", + "display_field": "name" + }, + { + "type": CommonParamType.CACHE, + "name": "缓存", + "description": "选择缓存", + "api_path": "/api/caches", + "value_field": "key", + "display_field": "key" + }, + { + "type": CommonParamType.BUILT_IN_FUNCTION, + "name": "内置函数", + "description": "选择内置函数", + "api_path": "/api/built-in-functions", + "value_field": "name", + "display_field": "name" + } + ] + + @classmethod + def get_param_type_by_type(cls, param_type: str) -> Optional[Dict[str, Any]]: + """根据类型获取参数类型配置""" + param_types = cls.get_param_types() + for pt in param_types: + if pt["type"] == param_type: + return pt + return None \ No newline at end of file diff --git a/config/component_detail_config.py b/config/component_detail_config.py deleted file mode 100644 index f7f2ccc..0000000 --- a/config/component_detail_config.py +++ /dev/null @@ -1,472 +0,0 @@ -""" -组件详细配置文件 -包含各种组件类型及其子组件的配置信息 -""" -from typing import Dict, List, Any, Optional - -class ScriptComponentConfig: - """脚本组件配置""" - - # 脚本组件类型 - RUN_SCRIPT = "run_script" # 运行脚本 - SET_VARIABLES = "set_variables" # 设置task.variables - - # 脚本组件详细配置 - @classmethod - def get_components(cls) -> List[Dict[str, Any]]: - """获取脚本组件列表""" - return [ - { - "type": "script", - "sub_type": cls.RUN_SCRIPT, - "name": "运行脚本", - "description": "执行JavaScript代码并返回结果", - "icon": "code", # 图标名称,前端可用 - "params": [ - { - "name": "function_name", - "label": "函数名", - "type": "string", - "required": False, - "description": "定义脚本中的主函数名称", - "value_types": [ - { - "type": "simple", - "label": "简单值", - "default": True - }, - { - "type": "expression", - "label": "表达式", - "default": False - } - ] - }, - { - "name": "params", - "label": "函数参数", - "type": "array", - "required": False, - "description": "传递给脚本的参数", - "value_types": [ - { - "type": "simple", - "label": "简单值", - "default": True - }, - { - "type": "expression", - "label": "表达式", - "default": False - } - ] - } - ] - }, - { - "type": "script", - "sub_type": cls.SET_VARIABLES, - "name": "设置task.variables", - "description": "设置和管理任务变量", - "icon": "variable", - "params": [ - { - "name": "function_name", - "label": "函数名", - "type": "string", - "required": False, - "description": "定义脚本中的主函数名称", - "value_types": [ - { - "type": "simple", - "label": "简单值", - "default": True - }, - { - "type": "expression", - "label": "表达式", - "default": False - } - ] - }, - { - "name": "params", - "label": "函数参数", - "type": "array", - "required": False, - "description": "传递给脚本的参数", - "value_types": [ - { - "type": "simple", - "label": "简单值", - "default": True - }, - { - "type": "expression", - "label": "表达式", - "default": False - } - ] - } - ] - } - ] - -class HttpComponentConfig: - """HTTP请求组件配置""" - - # HTTP请求组件类型 - HTTP_REQUEST = "http_request" # HTTP请求 - - # HTTP请求组件详细配置 - @classmethod - def get_components(cls) -> List[Dict[str, Any]]: - """获取HTTP请求组件列表""" - return [ - { - "type": "http", - "sub_type": cls.HTTP_REQUEST, - "name": "HTTP请求", - "description": "发送HTTP请求并处理响应", - "icon": "http", - "params": [ - { - "name": "method", - "label": "请求方法", - "type": "select", - "options": ["GET", "POST", "PUT", "DELETE", "PATCH"], - "required": True, - "description": "HTTP请求方法" - }, - { - "name": "url", - "label": "请求URL", - "type": "string", - "required": True, - "description": "请求的目标URL" - }, - { - "name": "headers", - "label": "请求头", - "type": "object", - "required": False, - "description": "HTTP请求头" - }, - { - "name": "body", - "label": "请求体", - "type": "object", - "required": False, - "description": "HTTP请求体" - }, - { - "name": "timeout", - "label": "超时时间", - "type": "number", - "required": False, - "description": "请求超时时间(毫秒)" - } - ] - } - ] - -class FlowComponentConfig: - """流程控制组件配置""" - - # 流程控制组件类型 - IF = "if" # 条件判断 - IF_ELSE = "if_else" # 条件分支 - FOR_EACH = "for_each" # 循环遍历 - WHILE = "while" # 条件循环 - - # 流程控制组件详细配置 - @classmethod - def get_components(cls) -> List[Dict[str, Any]]: - """获取流程控制组件列表""" - return [ - { - "type": "flow", - "sub_type": cls.IF, - "name": "条件判断", - "description": "根据条件执行不同的操作", - "icon": "branch", - "params": [ - { - "name": "condition", - "label": "条件表达式", - "type": "expression", - "required": True, - "description": "条件判断表达式" - } - ] - }, - { - "type": "flow", - "sub_type": cls.IF_ELSE, - "name": "条件分支", - "description": "根据条件执行不同的分支", - "icon": "branch-multiple", - "params": [ - { - "name": "condition", - "label": "条件表达式", - "type": "expression", - "required": True, - "description": "条件判断表达式" - } - ] - }, - { - "type": "flow", - "sub_type": cls.FOR_EACH, - "name": "循环遍历", - "description": "遍历数组或对象的每个元素", - "icon": "loop", - "params": [ - { - "name": "collection", - "label": "集合表达式", - "type": "expression", - "required": True, - "description": "要遍历的数组或对象" - }, - { - "name": "item_name", - "label": "元素变量名", - "type": "string", - "required": True, - "description": "当前元素的变量名" - }, - { - "name": "index_name", - "label": "索引变量名", - "type": "string", - "required": False, - "description": "当前索引的变量名" - } - ] - }, - { - "type": "flow", - "sub_type": cls.WHILE, - "name": "条件循环", - "description": "当条件为真时重复执行", - "icon": "loop-circular", - "params": [ - { - "name": "condition", - "label": "条件表达式", - "type": "expression", - "required": True, - "description": "循环条件表达式" - } - ] - } - ] - -class SubtaskComponentConfig: - """子任务组件配置""" - - # 子任务组件类型 - SUBTASK = "subtask" # 子任务 - - # 子任务组件详细配置 - @classmethod - def get_components(cls) -> List[Dict[str, Any]]: - """获取子任务组件列表""" - return [ - { - "type": "subtask", - "sub_type": cls.SUBTASK, - "name": "子任务", - "description": "执行已定义的任务作为子任务", - "icon": "subtask", - "params": [ - { - "name": "task_id", - "label": "选择子任务", - "type": "select", - "required": True, - "description": "选择要执行的子任务(从已创建的任务中选择)", - "data_source": "available_subtasks", # 指示前端从API返回的available_subtasks字段获取数据 - "display_field": "name", # 显示任务名称 - "value_field": "task_id" # 使用任务ID作为值 - }, - { - "name": "params", - "label": "任务参数", - "type": "object", - "required": False, - "description": "传递给子任务的参数" - }, - { - "name": "wait_complete", - "label": "等待完成", - "type": "boolean", - "required": False, - "default": True, - "description": "是否等待子任务完成后再继续执行" - } - ] - } - ] - -# 组件配置管理类 -class ComponentDetailConfig: - """组件详细配置管理""" - - # 组件类型中文名称映射 - @classmethod - def get_component_type_names(cls) -> Dict[str, str]: - """获取组件类型的中文名称映射""" - return { - # 基础类型 - "script": "脚本", - "http": "HTTP请求", - "flow": "流程", - "robot": "机器人调度", - "site": "库位", - "device": "设备", - "subtask": "子任务", - "task": "任务", - "basic": "基础", - - # 脚本组件 - "run_script": "运行脚本", - "set_task_variables": "设置任务变量", - "runscript": "运行脚本", - "settaskvariables": "设置任务变量", - - # HTTP请求组件 - "http_get_request": "GET请求", - "http_post_request": "POST请求", - "httpgetrequest": "GET请求", - "httppostrequest": "POST请求", - - # 流程控制组件 - "if": "条件判断", - "if_else": "条件分支", - "if_else_if": "多条件分支", - "for_each": "循环遍历", - "while": "条件循环", - "break": "跳出循环", - "return": "返回", - "delay": "延时", - "parallel_execute": "并行执行", - "serial_execute": "串行执行", - "throw_exception": "抛出异常", - "foreach": "循环遍历", - "ifelse": "条件分支", - "ifelseif": "多条件分支", - "parallelexecute": "并行执行", - "serialexecute": "串行执行", - "throwexception": "抛出异常", - - # 机器人调度组件 - "select_robot": "选择机器人", - "get_robot_position": "获取机器人位置", - "robot_action": "机器人动作", - "change_robot_destination": "更改机器人目的地", - "get_robot_battery": "获取机器人电量", - "get_robot_pgv_code": "获取机器人PGV码", - "changerobotdestination": "更改机器人目的地", - "getrobotbattery": "获取机器人电量", - "getrobotpgvcode": "获取机器人PGV码", - "getrobotposition": "获取机器人位置", - "robotaction": "机器人动作", - "selectrobot": "选择机器人", - - # 库位组件 - "batch_set_site": "批量设置库位", - "get_dense_site": "获取密集库位", - "query_site": "查询库位", - "lock_site": "锁定库位", - "unlock_site": "解锁库位", - "get_locked_sites_by_task": "获取任务锁定的库位", - "get_site_extension_property": "获取库位扩展属性", - "set_site_extension_property": "设置库位扩展属性", - "set_site_goods": "设置库位货物", - "set_site_empty": "设置库位为空", - "set_site_occupied": "设置库位为占用", - "set_site_tag": "设置库位标签", - "batchsetsite": "批量设置库位", - "getdensesite": "获取密集库位", - "getlockedsitesbytask": "获取任务锁定的库位", - "getsiteextensionproperty": "获取库位扩展属性", - "locksite": "锁定库位", - "querysite": "查询库位", - "setsiteempty": "设置库位为空", - "setsiteextensionproperty": "设置库位扩展属性", - "setsitegoods": "设置库位货物", - "setsiteoccupied": "设置库位为占用", - "setsitetag": "设置库位标签", - "unlocksite": "解锁库位", - - # 任务组件 - "cache_data": "缓存数据", - "clear_cache_data": "清除缓存数据", - "get_cache_data": "获取缓存数据", - "set_task_status": "设置任务状态", - "jump_to_block": "跳转到块", - "get_task_input_param": "获取任务输入参数", - "cachedata": "缓存数据", - "clearcachedata": "清除缓存数据", - "getcachedata": "获取缓存数据", - "gettaskinputparam": "获取任务输入参数", - "jumptoblock": "跳转到块", - "settaskstatus": "设置任务状态", - - # 基础组件 - "check_task_instance_id_exists": "检查任务实例ID是否存在", - "create_unique_id": "创建唯一ID", - "current_timestamp": "当前时间戳", - "current_time": "当前时间", - "execute_sql": "执行SQL", - "query_sql": "查询SQL", - "string_md5_encrypt": "字符串MD5加密", - "string_to_json_array": "字符串转JSON数组", - "string_to_json_object": "字符串转JSON对象", - "print": "打印", - "checktaskinstanceidexists": "检查任务实例ID是否存在", - "createuniqueid": "创建唯一ID", - "currenttime": "当前时间", - "currenttimestamp": "当前时间戳", - "executesql": "执行SQL", - "querysql": "查询SQL", - "stringmd5encrypt": "字符串MD5加密", - "stringtojsonarray": "字符串转JSON数组", - "stringtojsonobject": "字符串转JSON对象", - - # 设备组件 - "wait_modbus_value": "等待Modbus值", - "write_modbus_value": "写入Modbus值", - "waitmodbusvalue": "等待Modbus值", - "writemodbusvalue": "写入Modbus值" - } - - @classmethod - def get_all_components(cls) -> List[Dict[str, Any]]: - """获取所有组件详细配置""" - all_components = [] - - # 添加子任务组件(放在第一位) - all_components.extend(SubtaskComponentConfig.get_components()) - - # 添加脚本组件 - all_components.extend(ScriptComponentConfig.get_components()) - - # 添加HTTP请求组件 - all_components.extend(HttpComponentConfig.get_components()) - - # 添加流程控制组件 - all_components.extend(FlowComponentConfig.get_components()) - - # 可以继续添加其他类型的组件... - - return all_components - - @classmethod - def get_components_by_type(cls, component_type: str) -> List[Dict[str, Any]]: - """根据组件类型获取组件列表""" - all_components = cls.get_all_components() - return [comp for comp in all_components if comp["type"] == component_type] \ No newline at end of file diff --git a/config/component_registry.py b/config/component_registry.py deleted file mode 100644 index 3cd5776..0000000 --- a/config/component_registry.py +++ /dev/null @@ -1,23 +0,0 @@ -""" -组件注册表 -""" -# config/component_registry.py -from core.component import ComponentFactory -import importlib -from config.settings import COMPONENT_PACKAGES -from utils.logger import get_logger - -# 获取日志记录器 -logger = get_logger(__name__) - -def register_all_components(): - """注册所有组件""" - - for package_name in COMPONENT_PACKAGES: - try: - ComponentFactory.auto_discover(package_name) - logger.info(f"自动注册组件包: {package_name}") - except ImportError: - logger.error(f"导入组件包失败: {package_name}") - except Exception as e: - logger.error(f"注册组件包失败: {package_name}, 错误: {str(e)}") \ No newline at end of file diff --git a/config/task_config.py b/config/task_config.py index 023af0b..b039d67 100644 --- a/config/task_config.py +++ b/config/task_config.py @@ -3,27 +3,21 @@ """ 任务配置模块 -包含任务类型、状态等配置信息 +包含任务类型、状态、输入参数等配置信息 """ from enum import Enum +from typing import Dict, Any, List, Optional + +################################################# +# 任务类型相关配置 +################################################# -# 任务类型枚举 class TaskType(str, Enum): + """任务类型枚举""" NORMAL = "NORMAL" SCHEDULED = "SCHEDULED" -# 任务状态枚举 -class TaskStatus(str, Enum): - PENDING = "PENDING" - RUNNING = "RUNNING" - COMPLETED = "COMPLETED" - CANCELLED = "CANCELLED" - FAILED = "FAILED" - PAUSED = "PAUSED" - WAITING = "WAITING" - -# 任务类型配置 class TaskTypeConfig: """任务类型配置""" NORMAL = TaskType.NORMAL.value @@ -84,8 +78,20 @@ class TaskTypeConfig: }) return task_types +################################################# +# 任务状态相关配置 +################################################# + +class TaskStatus(str, Enum): + """任务状态枚举""" + PENDING = "PENDING" + RUNNING = "RUNNING" + COMPLETED = "COMPLETED" + CANCELLED = "CANCELLED" + FAILED = "FAILED" + PAUSED = "PAUSED" + WAITING = "WAITING" -# 任务状态配置 class TaskStatusConfig: """任务状态配置""" PENDING = TaskStatus.PENDING.value @@ -171,15 +177,148 @@ class TaskStatusConfig: }) return task_statuses +################################################# +# 任务输入参数相关配置 +################################################# +class TaskInputParamType(str, Enum): + """任务输入参数类型枚举""" + STRING = "string" + INTEGER = "integer" + FLOAT = "float" + BOOLEAN = "boolean" + DATETIME = "datetime" + JSON = "json" + ARRAY = "array" + OBJECT = "object" + +class SystemParamKey(str, Enum): + """系统参数键名枚举""" + TASK_ID = "task_id" + INSTANCE_ID = "instance_id" + TASK_NAME = "task_name" + CREATED_AT = "created_at" + VARIABLES = "variables" + PRIORITY = "priority" + +class TaskInputParamConfig: + """任务输入参数配置类""" + + # 系统默认参数配置 + SYSTEM_PARAMS = [ + { + "key": SystemParamKey.TASK_ID, + "name": "任务ID", + "type": TaskInputParamType.STRING, + "is_system": True, + "is_readonly": True, + "description": "任务的唯一标识符" + }, + { + "key": SystemParamKey.INSTANCE_ID, + "name": "任务实例ID", + "type": TaskInputParamType.STRING, + "is_system": True, + "is_readonly": True, + "description": "任务实例的唯一标识符" + }, + { + "key": SystemParamKey.TASK_NAME, + "name": "任务名称", + "type": TaskInputParamType.STRING, + "is_system": True, + "is_readonly": True, + "description": "任务的名称" + }, + { + "key": SystemParamKey.CREATED_AT, + "name": "创建时间", + "type": TaskInputParamType.DATETIME, + "is_system": True, + "is_readonly": True, + "description": "任务实例的创建时间" + }, + { + "key": SystemParamKey.VARIABLES, + "name": "任务变量", + "type": TaskInputParamType.JSON, + "is_system": True, + "is_readonly": False, + "description": "任务的变量集合" + }, + { + "key": SystemParamKey.PRIORITY, + "name": "任务优先级", + "type": TaskInputParamType.INTEGER, + "is_system": True, + "is_readonly": False, + "description": "任务的优先级,数值越大优先级越高" + } + ] + + @classmethod + def get_system_params(cls) -> List[Dict[str, Any]]: + """获取系统默认参数配置""" + return cls.SYSTEM_PARAMS + + @classmethod + def get_system_param_by_key(cls, key: str) -> Optional[Dict[str, Any]]: + """根据键名获取系统参数配置""" + for param in cls.SYSTEM_PARAMS: + if param["key"] == key: + return param + return None + + @classmethod + def build_system_params_with_values(cls, task_id: str, instance: Dict[str, Any]) -> List[Dict[str, Any]]: + """ + 构建带有值的系统参数列表 + + Args: + task_id: 任务ID + instance: 任务实例数据 + + Returns: + 带有值的系统参数列表 + """ + params = [] + + # 复制系统参数配置并添加值 + for param_config in cls.SYSTEM_PARAMS: + param = param_config.copy() + + # 根据参数键名设置值 + if param["key"] == SystemParamKey.TASK_ID: + param["value"] = task_id + elif param["key"] == SystemParamKey.INSTANCE_ID: + param["value"] = instance.get("instance_id") + elif param["key"] == SystemParamKey.TASK_NAME: + param["value"] = instance.get("name") + elif param["key"] == SystemParamKey.CREATED_AT: + param["value"] = instance.get("created_at") + elif param["key"] == SystemParamKey.VARIABLES: + param["value"] = instance.get("variables") + elif param["key"] == SystemParamKey.PRIORITY: + param["value"] = instance.get("priority", 1) + + params.append(param) + + return params + +################################################# # 默认值配置 +################################################# + class DefaultConfig: """默认值配置""" TASK_DESCRIPTION = "" # 默认任务描述(备注) TEMPLATE_DESCRIPTION = "用户自有模板" # 默认模板描述 +################################################# +# 向后兼容的常量和函数 +################################################# -# 为了向后兼容,保留原有的函数和变量 +# 任务类型和状态配置常量 TASK_TYPE_CONFIG = TaskTypeConfig.DETAILS TASK_STATUS_CONFIG = TaskStatusConfig.DETAILS diff --git a/data/__init__.py b/data/__init__.py index a54ffc9..94cf78f 100644 --- a/data/__init__.py +++ b/data/__init__.py @@ -6,6 +6,20 @@ 包含数据库模型和数据访问功能 """ -from data.session import initialize_database, get_session, session_scope +# 避免循环导入 +# from data.session import initialize_database, get_session, session_scope __all__ = ['initialize_database', 'get_session', 'session_scope'] + +# 延迟导入 +def initialize_database(): + from data.session import initialize_database as init_db + return init_db() + +def get_session(): + from data.session import get_session as get_db_session + return get_db_session() + +def session_scope(): + from data.session import session_scope as db_session_scope + return db_session_scope() diff --git a/data/__pycache__/__init__.cpython-312.pyc b/data/__pycache__/__init__.cpython-312.pyc index e90d0ef..5947d71 100644 Binary files a/data/__pycache__/__init__.cpython-312.pyc and b/data/__pycache__/__init__.cpython-312.pyc differ diff --git a/data/__pycache__/session.cpython-312.pyc b/data/__pycache__/session.cpython-312.pyc index 16ce81b..972b547 100644 Binary files a/data/__pycache__/session.cpython-312.pyc and b/data/__pycache__/session.cpython-312.pyc differ diff --git a/data/models/__init__.py b/data/models/__init__.py index b8ad30a..aebdc30 100644 --- a/data/models/__init__.py +++ b/data/models/__init__.py @@ -21,6 +21,7 @@ from data.models.component_parameter import ( from data.models.task_variable import TaskVariableDefinition from data.models.task_backup import TaskBackup from data.models.task_edit_history import TaskEditHistory +from data.models.task_instance import TaskInstance, TaskInstanceStatus __all__ = [ 'BaseModel', @@ -38,5 +39,7 @@ __all__ = [ 'ParameterValueFormat', 'TaskVariableDefinition', 'TaskBackup', - 'TaskEditHistory' + 'TaskEditHistory', + 'TaskInstance', + 'TaskInstanceStatus' ] diff --git a/data/models/__pycache__/__init__.cpython-312.pyc b/data/models/__pycache__/__init__.cpython-312.pyc index e964169..eac5382 100644 Binary files a/data/models/__pycache__/__init__.cpython-312.pyc and b/data/models/__pycache__/__init__.cpython-312.pyc differ diff --git a/data/models/__pycache__/subtask.cpython-312.pyc b/data/models/__pycache__/subtask.cpython-312.pyc new file mode 100644 index 0000000..24bb1c4 Binary files /dev/null and b/data/models/__pycache__/subtask.cpython-312.pyc differ diff --git a/data/models/__pycache__/task.cpython-312.pyc b/data/models/__pycache__/task.cpython-312.pyc index d7b90ef..368a5dd 100644 Binary files a/data/models/__pycache__/task.cpython-312.pyc and b/data/models/__pycache__/task.cpython-312.pyc differ diff --git a/data/models/__pycache__/task_flow.cpython-312.pyc b/data/models/__pycache__/task_flow.cpython-312.pyc new file mode 100644 index 0000000..a9f49a7 Binary files /dev/null and b/data/models/__pycache__/task_flow.cpython-312.pyc differ diff --git a/data/models/__pycache__/task_import_export.cpython-312.pyc b/data/models/__pycache__/task_import_export.cpython-312.pyc new file mode 100644 index 0000000..cfee644 Binary files /dev/null and b/data/models/__pycache__/task_import_export.cpython-312.pyc differ diff --git a/data/models/__pycache__/task_input.cpython-312.pyc b/data/models/__pycache__/task_input.cpython-312.pyc new file mode 100644 index 0000000..8bb874d Binary files /dev/null and b/data/models/__pycache__/task_input.cpython-312.pyc differ diff --git a/data/models/__pycache__/task_instance.cpython-312.pyc b/data/models/__pycache__/task_instance.cpython-312.pyc new file mode 100644 index 0000000..b6ac130 Binary files /dev/null and b/data/models/__pycache__/task_instance.cpython-312.pyc differ diff --git a/data/models/task.py b/data/models/task.py index b6b6fd9..5bc2950 100644 --- a/data/models/task.py +++ b/data/models/task.py @@ -69,6 +69,7 @@ class Task(BaseModel): versions = relationship('TaskVersion', back_populates='task', cascade='all, delete-orphan') records = relationship('TaskRecord', back_populates='task') flow_blocks = relationship('TaskFlowBlock', back_populates='task') + instances = relationship("TaskInstance", back_populates="task", cascade="all, delete-orphan") def __repr__(self): return f"" diff --git a/data/models/task_instance.py b/data/models/task_instance.py new file mode 100644 index 0000000..97c8b10 --- /dev/null +++ b/data/models/task_instance.py @@ -0,0 +1,60 @@ +""" +任务实例模型 +用于存储任务管理表的数据,记录每次编辑任务的实例 +""" +from sqlalchemy import Column, Integer, String, Text, DateTime, Boolean, ForeignKey, JSON, Enum +from sqlalchemy.orm import relationship +from datetime import datetime +import enum +import uuid +from data.models.base import BaseModel + +class TaskInstanceStatus(enum.Enum): + """任务实例状态枚举""" + EDITING = "editing" # 编辑中 + PUBLISHED = "published" # 已发布 + +class TaskInstance(BaseModel): + """任务实例模型""" + __tablename__ = "task_instances" + + id = Column(Integer, primary_key=True, autoincrement=True, comment="主键ID") + instance_id = Column(String(36), nullable=False, unique=True, index=True, comment="实例唯一ID,用于外部引用") + task_id = Column(String(50), ForeignKey("tasks.task_id"), nullable=False, comment="关联的任务ID") + name = Column(String(100), nullable=False, comment="任务名称(复制自任务表)") + variables = Column(JSON, nullable=True, comment="任务变量") + priority = Column(Integer, default=1, comment="任务优先级") + input_params = Column(JSON, nullable=True, comment="任务输入参数") + block_outputs = Column(JSON, nullable=True, comment="块输出参数") + context_params = Column(JSON, nullable=True, comment="上下文参数") + status = Column(Enum(TaskInstanceStatus), default=TaskInstanceStatus.EDITING, comment="任务实例状态") + created_at = Column(DateTime, default=datetime.now, comment="创建时间") + updated_at = Column(DateTime, default=datetime.now, onupdate=datetime.now, comment="更新时间") + is_deleted = Column(Boolean, default=False, comment="是否删除") + + # 关联关系 + task = relationship("Task", back_populates="instances") + + def __init__(self, **kwargs): + """初始化实例,自动生成instance_id""" + if 'instance_id' not in kwargs: + kwargs['instance_id'] = str(uuid.uuid4()) + super(TaskInstance, self).__init__(**kwargs) + + def to_dict(self): + """转换为字典""" + return { + "id": self.instance_id, # 使用instance_id作为对外ID + "instance_id": self.instance_id, + "task_id": self.task_id, + "name": self.name, + "variables": self.variables or {}, + "priority": self.priority, + "input_params": self.input_params or {}, + "block_outputs": self.block_outputs or {}, + "context_params": self.context_params or {}, + "status": self.status.value if self.status else None, + "created_at": int(self.created_at.timestamp() * 1000) if self.created_at else None, + "updated_at": int(self.updated_at.timestamp() * 1000) if self.updated_at else None, + "is_deleted": self.is_deleted + } \ No newline at end of file diff --git a/data/session.py b/data/session.py index 416c80d..9f6837d 100644 --- a/data/session.py +++ b/data/session.py @@ -8,6 +8,13 @@ from contextlib import contextmanager from config.database import DBConfig, CacheConfig +from config.component_config import ( + COMPONENT_CATEGORIES, + get_component_types, + get_system_components, + CACHE_EXPIRE_TIME, + CACHE_KEYS +) def get_session(): """ @@ -18,6 +25,19 @@ def get_session(): """ return DBConfig.get_session() +def get_db(): + """ + 获取数据库会话生成器 + + Yields: + Session: 数据库会话对象 + """ + db = get_session() + try: + yield db + finally: + db.close() + @contextmanager def session_scope(): """ @@ -60,18 +80,8 @@ def _initialize_component_categories(): if ComponentCategory.query.count() > 0: return - # 定义基础组件类别 - categories = [ - {"name": "基础组件", "code": "basic", "description": "基础功能组件", "sort_order": 1}, - {"name": "流程组件", "code": "flow", "description": "流程控制组件", "sort_order": 2}, - {"name": "机器人组件", "code": "robot", "description": "机器人控制组件", "sort_order": 3}, - {"name": "库位组件", "code": "storage", "description": "库位管理组件", "sort_order": 4}, - {"name": "设备组件", "code": "device", "description": "设备控制组件", "sort_order": 5}, - {"name": "HTTP组件", "code": "http", "description": "HTTP请求组件", "sort_order": 6}, - {"name": "脚本组件", "code": "script", "description": "脚本执行组件", "sort_order": 7}, - {"name": "子任务组件", "code": "subtask", "description": "子任务组件", "sort_order": 8}, - {"name": "任务组件", "code": "task", "description": "任务管理组件", "sort_order": 9} - ] + # 从配置文件获取组件类别 + categories = COMPONENT_CATEGORIES # 批量创建 with session_scope() as session: @@ -93,34 +103,8 @@ def _initialize_component_types(): # 获取组件类别 categories = {category.code: category.id for category in ComponentCategory.query.all()} - # 定义基础组件类型 - types = [ - # 基础组件 - {"name": "变量赋值", "code": "variable_assign", "category_id": categories["basic"], "description": "为变量赋值", "icon": "variable", "sort_order": 1}, - {"name": "条件判断", "code": "condition", "category_id": categories["basic"], "description": "条件判断", "icon": "condition", "sort_order": 2}, - {"name": "延时等待", "code": "delay", "category_id": categories["basic"], "description": "延时等待", "icon": "delay", "sort_order": 3}, - - # 流程组件 - {"name": "If条件", "code": "if", "category_id": categories["flow"], "description": "If条件判断", "icon": "if", "sort_order": 1}, - {"name": "If-Else条件", "code": "if_else", "category_id": categories["flow"], "description": "If-Else条件判断", "icon": "if_else", "sort_order": 2}, - {"name": "循环", "code": "loop", "category_id": categories["flow"], "description": "循环执行", "icon": "loop", "sort_order": 3}, - {"name": "并行执行", "code": "parallel", "category_id": categories["flow"], "description": "并行执行多个分支", "icon": "parallel", "sort_order": 4}, - - # 机器人组件 - {"name": "选择机器人", "code": "select_robot", "category_id": categories["robot"], "description": "选择执行机器人", "icon": "robot", "sort_order": 1}, - {"name": "机器人移动", "code": "robot_move", "category_id": categories["robot"], "description": "控制机器人移动", "icon": "move", "sort_order": 2}, - {"name": "获取机器人状态", "code": "robot_status", "category_id": categories["robot"], "description": "获取机器人状态", "icon": "status", "sort_order": 3}, - - # HTTP组件 - {"name": "HTTP请求", "code": "http_request", "category_id": categories["http"], "description": "发送HTTP请求", "icon": "http", "sort_order": 1}, - {"name": "API调用", "code": "api_call", "category_id": categories["http"], "description": "调用系统API", "icon": "api", "sort_order": 2}, - - # 脚本组件 - {"name": "JavaScript脚本", "code": "javascript", "category_id": categories["script"], "description": "执行JavaScript脚本", "icon": "script", "sort_order": 1}, - - # 子任务组件 - {"name": "执行子任务", "code": "execute_subtask", "category_id": categories["subtask"], "description": "执行子任务", "icon": "subtask", "sort_order": 1} - ] + # 从配置文件获取组件类型 + types = get_component_types(categories) # 批量创建 with session_scope() as session: @@ -142,74 +126,8 @@ def _initialize_system_components(): # 获取组件类型 types = {component_type.code: component_type.id for component_type in ComponentType.query.all()} - # 定义系统组件 - components = [ - { - "name": "变量赋值", - "code": "variable_assign", - "type_id": types["variable_assign"], - "description": "为变量赋值", - "is_system": True, - "config_schema": { - "type": "object", - "properties": { - "variable_name": {"type": "string", "title": "变量名"}, - "value_type": {"type": "string", "enum": ["string", "number", "boolean", "object"], "title": "值类型"}, - "value": {"type": "string", "title": "值"} - }, - "required": ["variable_name", "value_type", "value"] - }, - "input_schema": {}, - "output_schema": { - "type": "object", - "properties": { - "result": {"type": "boolean", "title": "执行结果"} - } - } - }, - { - "name": "条件判断", - "code": "condition", - "type_id": types["condition"], - "description": "条件判断", - "is_system": True, - "config_schema": { - "type": "object", - "properties": { - "condition": {"type": "string", "title": "条件表达式"} - }, - "required": ["condition"] - }, - "input_schema": {}, - "output_schema": { - "type": "object", - "properties": { - "result": {"type": "boolean", "title": "判断结果"} - } - } - }, - { - "name": "If条件", - "code": "if", - "type_id": types["if"], - "description": "If条件判断", - "is_system": True, - "config_schema": { - "type": "object", - "properties": { - "condition": {"type": "string", "title": "条件表达式"} - }, - "required": ["condition"] - }, - "input_schema": {}, - "output_schema": { - "type": "object", - "properties": { - "result": {"type": "boolean", "title": "判断结果"} - } - } - } - ] + # 从配置文件获取系统组件 + components = get_system_components(types) # 批量创建 with session_scope() as session: @@ -234,7 +152,7 @@ def _cache_component_categories(): } for category in categories} # 使用Redis缓存 - CacheConfig.set("component_categories", categories_dict, expire=86400) # 缓存24小时 + CacheConfig.set(CACHE_KEYS["COMPONENT_CATEGORIES"], categories_dict, expire=CACHE_EXPIRE_TIME) def _cache_component_types(): """缓存组件类型""" @@ -252,7 +170,7 @@ def _cache_component_types(): } for type in types} # 使用Redis缓存 - CacheConfig.set("component_types", types_dict, expire=86400) # 缓存24小时 + CacheConfig.set(CACHE_KEYS["COMPONENT_TYPES"], types_dict, expire=CACHE_EXPIRE_TIME) def _cache_system_components(): """缓存系统组件""" @@ -271,4 +189,4 @@ def _cache_system_components(): } for component in components} # 使用Redis缓存 - CacheConfig.set("system_components", components_dict, expire=86400) # 缓存24小时 + CacheConfig.set(CACHE_KEYS["SYSTEM_COMPONENTS"], components_dict, expire=CACHE_EXPIRE_TIME) diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..0c159e4 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,88 @@ +version: '3.8' + +services: + # 应用服务 + app: + build: . + container_name: tianfeng-task + restart: always + ports: + - "8000:8000" + environment: + - TIANFENG_ENV=default + - DEBUG=false + - DB_HOST=db + - DB_PORT=3306 + - DB_USER=root + - DB_PASSWORD=password + - DB_NAME=tianfeng_task + - REDIS_HOST=redis + - REDIS_PORT=6379 + - REDIS_DB=0 + depends_on: + db: + condition: service_healthy + redis: + condition: service_healthy + volumes: + - ./logs:/app/logs + networks: + - tianfeng-network + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8000/api/v1/health"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 40s + + # MySQL数据库服务 + db: + image: mysql:8.0 + container_name: tianfeng-mysql + restart: always + environment: + - MYSQL_ROOT_PASSWORD=password + - MYSQL_DATABASE=tianfeng_task + - MYSQL_USER=tianfeng + - MYSQL_PASSWORD=tianfeng + ports: + - "3306:3306" + volumes: + - mysql-data:/var/lib/mysql + - ./scripts/init-db.sql:/docker-entrypoint-initdb.d/init-db.sql + command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci + networks: + - tianfeng-network + healthcheck: + test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-p$$MYSQL_ROOT_PASSWORD"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 30s + + # Redis缓存服务 + redis: + image: redis:6.2-alpine + container_name: tianfeng-redis + restart: always + ports: + - "6379:6379" + volumes: + - redis-data:/data + command: redis-server --appendonly yes + networks: + - tianfeng-network + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + start_period: 10s + +volumes: + mysql-data: + redis-data: + +networks: + tianfeng-network: + driver: bridge \ No newline at end of file diff --git a/logs/tianfeng_task.log b/logs/tianfeng_task.log index 0929bc4..b75bc16 100644 --- a/logs/tianfeng_task.log +++ b/logs/tianfeng_task.log @@ -12216,3 +12216,3390 @@ WHERE tasks.is_deleted = false) AS anon_1] 2025-03-17 14:05:33,120 - config.component_registry - INFO - Զע: components 2025-03-17 14:05:33,136 - root - INFO - Ӧ 2025-03-17 14:43:06,083 - root - INFO - Ӧùر +2025-03-17 15:14:03,698 - root - INFO - ʼʼݿ... +2025-03-17 15:14:03,764 - root - INFO - ݿɹ +2025-03-17 15:14:03,764 - root - INFO - ʼʼ... +2025-03-17 15:14:03,777 - root - INFO - Ѵڣʼ +2025-03-17 15:14:03,793 - root - INFO - ݳʼɹ +2025-03-17 15:14:03,793 - core.component - INFO - Զ: components +2025-03-17 15:14:03,793 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: if -> IfComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 15:14:03,793 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 15:14:03,793 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 15:14:03,984 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 15:14:03,984 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 15:14:03,984 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 15:14:03,984 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 15:14:04,000 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 15:14:04,001 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 15:14:04,004 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 15:14:04,004 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 15:14:04,004 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 15:14:04,004 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 15:14:04,004 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 15:14:04,004 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 15:14:04,004 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 15:14:04,004 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 15:14:04,004 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 15:14:04,004 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 15:14:04,004 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 15:14:04,004 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 15:14:04,004 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 15:14:04,004 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 15:14:04,015 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 15:14:04,015 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 15:14:04,015 - config.component_registry - INFO - Զע: components +2025-03-17 15:14:04,046 - root - INFO - ģ񣬵ģʽ: True +2025-03-17 15:14:04,647 - root - INFO - ʼʼݿ... +2025-03-17 15:14:04,695 - root - INFO - ݿɹ +2025-03-17 15:14:04,695 - root - INFO - ʼʼ... +2025-03-17 15:14:04,720 - root - INFO - Ѵڣʼ +2025-03-17 15:14:04,720 - root - INFO - ݳʼɹ +2025-03-17 15:14:04,720 - core.component - INFO - Զ: components +2025-03-17 15:14:04,720 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 15:14:04,720 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 15:14:04,720 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 15:14:04,720 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 15:14:04,720 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 15:14:04,720 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 15:14:04,720 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: if -> IfComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 15:14:04,727 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 15:14:04,727 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 15:14:04,927 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 15:14:04,927 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 15:14:04,927 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 15:14:04,927 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 15:14:04,927 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 15:14:04,927 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 15:14:04,927 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 15:14:04,927 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 15:14:04,927 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 15:14:04,927 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 15:14:04,927 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 15:14:04,927 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 15:14:04,927 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 15:14:04,927 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 15:14:04,927 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 15:14:04,927 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 15:14:04,932 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 15:14:04,932 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 15:14:04,932 - config.component_registry - INFO - Զע: components +2025-03-17 15:14:04,996 - root - INFO - ʼʼݿ... +2025-03-17 15:14:05,027 - root - INFO - ݿɹ +2025-03-17 15:14:05,027 - root - INFO - ʼʼ... +2025-03-17 15:14:05,027 - root - INFO - Ѵڣʼ +2025-03-17 15:14:05,027 - root - INFO - ݳʼɹ +2025-03-17 15:14:05,027 - core.component - INFO - Զ: components +2025-03-17 15:14:05,027 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 15:14:05,027 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 15:14:05,027 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 15:14:05,042 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 15:14:05,042 - config.component_registry - INFO - Զע: components +2025-03-17 15:14:05,058 - root - INFO - Ӧ +2025-03-17 15:31:40,039 - root - INFO - Ӧùر +2025-03-17 15:31:41,294 - root - INFO - ʼʼݿ... +2025-03-17 15:31:41,352 - root - INFO - ݿɹ +2025-03-17 15:31:41,352 - root - INFO - ʼʼ... +2025-03-17 15:31:41,368 - root - INFO - Ѵڣʼ +2025-03-17 15:31:41,368 - root - INFO - ݳʼɹ +2025-03-17 15:31:41,368 - core.component - INFO - Զ: components +2025-03-17 15:31:41,368 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 15:31:41,383 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 15:31:41,383 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 15:31:41,383 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 15:31:41,383 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 15:31:41,383 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 15:31:41,383 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 15:31:41,383 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 15:31:41,383 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 15:31:41,399 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 15:31:41,399 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 15:31:41,399 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 15:31:41,399 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 15:31:41,399 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 15:31:41,399 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 15:31:41,399 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 15:31:41,415 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 15:31:41,415 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 15:31:41,415 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 15:31:41,415 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 15:31:41,415 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 15:31:41,415 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 15:31:41,415 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 15:31:41,415 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 15:31:41,415 - core.component - INFO - ע: if -> IfComponent +2025-03-17 15:31:41,415 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 15:31:41,431 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 15:31:41,431 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 15:31:41,431 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 15:31:41,431 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 15:31:41,431 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 15:31:41,431 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 15:31:41,431 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 15:31:41,431 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 15:31:41,431 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 15:31:41,431 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 15:31:41,684 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 15:31:41,684 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 15:31:41,684 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 15:31:41,684 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 15:31:41,684 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 15:31:41,684 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 15:31:41,684 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 15:31:41,684 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 15:31:41,684 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 15:31:41,700 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 15:31:41,700 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 15:31:41,700 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 15:31:41,700 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 15:31:41,700 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 15:31:41,700 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 15:31:41,700 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 15:31:41,700 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 15:31:41,700 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 15:31:41,700 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 15:31:41,700 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 15:31:41,700 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 15:31:41,700 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 15:31:41,700 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 15:31:41,716 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 15:31:41,716 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 15:31:41,716 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 15:31:41,716 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 15:31:41,716 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 15:31:41,716 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 15:31:41,716 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 15:31:41,716 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 15:31:41,716 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 15:31:41,716 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 15:31:41,716 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 15:31:41,716 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 15:31:41,716 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 15:31:41,716 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 15:31:41,716 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 15:31:41,716 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 15:31:41,732 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 15:31:41,733 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 15:31:41,733 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 15:31:41,733 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 15:31:41,733 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 15:31:41,734 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 15:31:41,734 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 15:31:41,734 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 15:31:41,734 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 15:31:41,734 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 15:31:41,734 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 15:31:41,734 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 15:31:41,748 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 15:31:41,748 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 15:31:41,748 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 15:31:41,748 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 15:31:41,748 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 15:31:41,748 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 15:31:41,748 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 15:31:41,748 - config.component_registry - INFO - Զע: components +2025-03-17 15:31:41,838 - root - INFO - ʼʼݿ... +2025-03-17 15:31:41,875 - root - INFO - ݿɹ +2025-03-17 15:31:41,875 - root - INFO - ʼʼ... +2025-03-17 15:31:41,892 - root - INFO - Ѵڣʼ +2025-03-17 15:31:41,892 - root - INFO - ݳʼɹ +2025-03-17 15:31:41,892 - core.component - INFO - Զ: components +2025-03-17 15:31:41,892 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 15:31:41,892 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 15:31:41,892 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 15:31:41,892 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 15:31:41,892 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 15:31:41,892 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 15:31:41,892 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 15:31:41,907 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 15:31:41,923 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 15:31:41,939 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 15:31:41,939 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 15:31:41,939 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 15:31:41,939 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 15:31:41,939 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 15:31:41,939 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 15:31:41,939 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 15:31:41,939 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 15:31:41,939 - config.component_registry - INFO - Զע: components +2025-03-17 15:31:41,971 - root - INFO - Ӧ +2025-03-17 16:08:52,287 - root - INFO - Ӧùر +2025-03-17 16:09:27,327 - root - INFO - ʼʼݿ... +2025-03-17 16:09:27,361 - root - INFO - ݿɹ +2025-03-17 16:09:27,361 - root - INFO - ʼʼ... +2025-03-17 16:09:27,381 - root - ERROR - ݳʼʧ: When initializing mapper Mapper[Task(tasks)], expression 'TaskInstance' failed to locate a name ('TaskInstance'). If this is a class name, consider adding this relationship() to the class after both dependent classes have been defined. +2025-03-17 16:09:27,381 - root - ERROR - ݿʼʧ: When initializing mapper Mapper[Task(tasks)], expression 'TaskInstance' failed to locate a name ('TaskInstance'). If this is a class name, consider adding this relationship() to the class after both dependent classes have been defined. +2025-03-17 16:09:58,030 - root - INFO - ʼʼݿ... +2025-03-17 16:09:58,078 - root - INFO - ݿɹ +2025-03-17 16:09:58,079 - root - INFO - ʼʼ... +2025-03-17 16:09:58,081 - root - ERROR - ݳʼʧ: When initializing mapper Mapper[Task(tasks)], expression 'TaskInstance' failed to locate a name ('TaskInstance'). If this is a class name, consider adding this relationship() to the class after both dependent classes have been defined. +2025-03-17 16:09:58,081 - root - ERROR - ݿʼʧ: When initializing mapper Mapper[Task(tasks)], expression 'TaskInstance' failed to locate a name ('TaskInstance'). If this is a class name, consider adding this relationship() to the class after both dependent classes have been defined. +2025-03-17 16:10:24,134 - root - INFO - ʼʼݿ... +2025-03-17 16:10:24,197 - root - INFO - ݿɹ +2025-03-17 16:10:24,197 - root - INFO - ʼʼ... +2025-03-17 16:10:24,197 - root - ERROR - ݳʼʧ: When initializing mapper Mapper[Task(tasks)], expression 'TaskInstance' failed to locate a name ('TaskInstance'). If this is a class name, consider adding this relationship() to the class after both dependent classes have been defined. +2025-03-17 16:10:24,197 - root - ERROR - ݿʼʧ: When initializing mapper Mapper[Task(tasks)], expression 'TaskInstance' failed to locate a name ('TaskInstance'). If this is a class name, consider adding this relationship() to the class after both dependent classes have been defined. +2025-03-17 16:16:28,449 - root - INFO - ʼʼݿ... +2025-03-17 16:16:28,643 - root - INFO - ݿɹ +2025-03-17 16:16:28,643 - root - INFO - ʼʼ... +2025-03-17 16:16:28,666 - root - INFO - Ѵڣʼ +2025-03-17 16:16:28,666 - root - INFO - ݳʼɹ +2025-03-17 16:16:28,666 - core.component - INFO - Զ: components +2025-03-17 16:16:28,666 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:16:28,671 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 16:16:28,671 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 16:16:28,674 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 16:16:28,674 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 16:16:28,675 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 16:16:28,675 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 16:16:28,675 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 16:16:28,675 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 16:16:28,675 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 16:16:28,675 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:16:28,682 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 16:16:28,682 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 16:16:28,682 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 16:16:28,682 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 16:16:28,682 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 16:16:28,682 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 16:16:28,682 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 16:16:28,682 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 16:16:28,688 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 16:16:28,688 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 16:16:28,690 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 16:16:28,690 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 16:16:28,690 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: if -> IfComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 16:16:28,692 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 16:16:28,692 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 16:16:28,699 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 16:16:28,699 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 16:16:28,699 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 16:16:28,699 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 16:16:28,699 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 16:16:28,699 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 16:16:28,702 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 16:16:28,702 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 16:16:28,702 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 16:16:28,702 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 16:16:28,882 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 16:16:28,882 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 16:16:28,882 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 16:16:28,882 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 16:16:28,882 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 16:16:28,882 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 16:16:28,882 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 16:16:28,882 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 16:16:28,882 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 16:16:28,882 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 16:16:28,882 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 16:16:28,898 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 16:16:28,901 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 16:16:28,901 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 16:16:28,901 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 16:16:28,901 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 16:16:28,901 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 16:16:28,914 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 16:16:28,914 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 16:16:28,914 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 16:16:28,914 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 16:16:28,914 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 16:16:28,916 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 16:16:28,916 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 16:16:28,916 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 16:16:28,916 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 16:16:28,916 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 16:16:28,916 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 16:16:28,916 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 16:16:28,916 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 16:16:28,920 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 16:16:28,920 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 16:16:28,920 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 16:16:28,920 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 16:16:28,920 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 16:16:28,920 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 16:16:28,920 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 16:16:28,920 - config.component_registry - INFO - Զע: components +2025-03-17 16:16:28,949 - root - INFO - ģ񣬵ģʽ: True +2025-03-17 16:16:29,533 - root - INFO - ʼʼݿ... +2025-03-17 16:16:29,582 - root - INFO - ݿɹ +2025-03-17 16:16:29,582 - root - INFO - ʼʼ... +2025-03-17 16:16:29,598 - root - INFO - Ѵڣʼ +2025-03-17 16:16:29,598 - root - INFO - ݳʼɹ +2025-03-17 16:16:29,598 - core.component - INFO - Զ: components +2025-03-17 16:16:29,598 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:16:29,614 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 16:16:29,614 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 16:16:29,614 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 16:16:29,615 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 16:16:29,615 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 16:16:29,615 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 16:16:29,615 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 16:16:29,615 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 16:16:29,615 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 16:16:29,615 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:16:29,615 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 16:16:29,617 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 16:16:29,617 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 16:16:29,617 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 16:16:29,617 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 16:16:29,617 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 16:16:29,617 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 16:16:29,617 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 16:16:29,617 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 16:16:29,617 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 16:16:29,617 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 16:16:29,617 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 16:16:29,617 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 16:16:29,617 - core.component - INFO - ע: if -> IfComponent +2025-03-17 16:16:29,617 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 16:16:29,617 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 16:16:29,617 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 16:16:29,617 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 16:16:29,617 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 16:16:29,621 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 16:16:29,621 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 16:16:29,621 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 16:16:29,621 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 16:16:29,621 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 16:16:29,621 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 16:16:29,805 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 16:16:29,818 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 16:16:29,818 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 16:16:29,818 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 16:16:29,818 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 16:16:29,818 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 16:16:29,820 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 16:16:29,820 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 16:16:29,820 - config.component_registry - INFO - Զע: components +2025-03-17 16:16:29,867 - root - INFO - ʼʼݿ... +2025-03-17 16:16:29,905 - root - INFO - ݿɹ +2025-03-17 16:16:29,905 - root - INFO - ʼʼ... +2025-03-17 16:16:29,916 - root - INFO - Ѵڣʼ +2025-03-17 16:16:29,916 - root - INFO - ݳʼɹ +2025-03-17 16:16:29,916 - core.component - INFO - Զ: components +2025-03-17 16:16:29,916 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 16:16:29,916 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 16:16:29,916 - config.component_registry - INFO - Զע: components +2025-03-17 16:16:29,937 - root - INFO - Ӧ +2025-03-17 16:24:13,758 - root - INFO - Ӧùر +2025-03-17 16:46:10,329 - root - INFO - ʼʼݿ... +2025-03-17 16:46:10,372 - root - INFO - ݿɹ +2025-03-17 16:46:10,372 - root - INFO - ʼʼ... +2025-03-17 16:46:10,393 - root - INFO - Ѵڣʼ +2025-03-17 16:46:10,393 - root - INFO - ݳʼɹ +2025-03-17 16:46:10,393 - core.component - INFO - Զ: components +2025-03-17 16:46:10,393 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:46:10,393 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 16:46:10,393 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 16:46:10,393 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 16:46:10,393 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 16:46:10,393 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 16:46:10,393 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 16:46:10,399 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 16:46:10,399 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 16:46:10,399 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 16:46:10,399 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 16:46:10,399 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 16:46:10,399 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 16:46:10,399 - core.component - INFO - ע: if -> IfComponent +2025-03-17 16:46:10,399 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 16:46:10,402 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 16:46:10,402 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 16:46:10,402 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 16:46:10,402 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 16:46:10,402 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 16:46:10,402 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 16:46:10,402 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 16:46:10,402 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 16:46:10,402 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 16:46:10,402 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 16:46:10,586 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 16:46:10,586 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 16:46:10,600 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 16:46:10,600 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 16:46:10,600 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 16:46:10,600 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 16:46:10,600 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 16:46:10,600 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 16:46:10,600 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 16:46:10,600 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 16:46:10,600 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 16:46:10,600 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 16:46:10,600 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 16:46:10,600 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 16:46:10,600 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 16:46:10,600 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 16:46:10,600 - config.component_registry - INFO - Զע: components +2025-03-17 16:46:10,648 - root - INFO - ģ񣬵ģʽ: True +2025-03-17 16:46:11,234 - root - INFO - ʼʼݿ... +2025-03-17 16:46:11,281 - root - INFO - ݿɹ +2025-03-17 16:46:11,281 - root - INFO - ʼʼ... +2025-03-17 16:46:11,313 - root - INFO - Ѵڣʼ +2025-03-17 16:46:11,313 - root - INFO - ݳʼɹ +2025-03-17 16:46:11,313 - core.component - INFO - Զ: components +2025-03-17 16:46:11,313 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: if -> IfComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 16:46:11,313 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 16:46:11,313 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 16:46:11,504 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 16:46:11,504 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 16:46:11,504 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 16:46:11,504 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 16:46:11,504 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 16:46:11,504 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 16:46:11,504 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 16:46:11,504 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 16:46:11,504 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 16:46:11,504 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 16:46:11,520 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 16:46:11,520 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 16:46:11,520 - config.component_registry - INFO - Զע: components +2025-03-17 16:46:11,595 - root - INFO - ʼʼݿ... +2025-03-17 16:46:11,617 - root - INFO - ݿɹ +2025-03-17 16:46:11,617 - root - INFO - ʼʼ... +2025-03-17 16:46:11,617 - root - INFO - Ѵڣʼ +2025-03-17 16:46:11,617 - root - INFO - ݳʼɹ +2025-03-17 16:46:11,617 - core.component - INFO - Զ: components +2025-03-17 16:46:11,617 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 16:46:11,617 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 16:46:11,632 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 16:46:11,632 - config.component_registry - INFO - Զע: components +2025-03-17 16:46:11,632 - root - INFO - Ӧ +2025-03-17 16:52:21,075 - root - INFO - Ӧùر +2025-03-17 16:52:23,067 - root - INFO - ʼʼݿ... +2025-03-17 16:52:23,210 - root - INFO - ݿɹ +2025-03-17 16:52:23,210 - root - INFO - ʼʼ... +2025-03-17 16:52:23,242 - root - INFO - Ѵڣʼ +2025-03-17 16:52:23,242 - root - INFO - ݳʼɹ +2025-03-17 16:52:23,242 - core.component - INFO - Զ: components +2025-03-17 16:52:23,242 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 16:52:23,242 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: if -> IfComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 16:52:23,242 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 16:52:23,258 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 16:52:23,258 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 16:52:23,258 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 16:52:23,258 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 16:52:23,258 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 16:52:23,429 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 16:52:23,429 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 16:52:23,429 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 16:52:23,429 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 16:52:23,433 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 16:52:23,433 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 16:52:23,433 - config.component_registry - INFO - Զע: components +2025-03-17 16:52:23,464 - root - INFO - ģ񣬵ģʽ: True +2025-03-17 16:52:24,052 - root - INFO - ʼʼݿ... +2025-03-17 16:52:24,131 - root - INFO - ݿɹ +2025-03-17 16:52:24,147 - root - INFO - ʼʼ... +2025-03-17 16:52:24,163 - root - INFO - Ѵڣʼ +2025-03-17 16:52:24,178 - root - INFO - ݳʼɹ +2025-03-17 16:52:24,178 - core.component - INFO - Զ: components +2025-03-17 16:52:24,178 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:52:24,178 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 16:52:24,178 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 16:52:24,178 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 16:52:24,178 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 16:52:24,178 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 16:52:24,194 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 16:52:24,194 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 16:52:24,194 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 16:52:24,194 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 16:52:24,194 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:52:24,210 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 16:52:24,210 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 16:52:24,210 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 16:52:24,210 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 16:52:24,210 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 16:52:24,226 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 16:52:24,226 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 16:52:24,226 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 16:52:24,226 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 16:52:24,226 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 16:52:24,226 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 16:52:24,242 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 16:52:24,242 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 16:52:24,242 - core.component - INFO - ע: if -> IfComponent +2025-03-17 16:52:24,247 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 16:52:24,247 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 16:52:24,258 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 16:52:24,258 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 16:52:24,258 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 16:52:24,258 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 16:52:24,261 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 16:52:24,266 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 16:52:24,274 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 16:52:24,274 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 16:52:24,274 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 16:52:24,274 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 16:52:24,280 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 16:52:24,290 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 16:52:24,292 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 16:52:24,292 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 16:52:24,292 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 16:52:24,293 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 16:52:24,293 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 16:52:24,293 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 16:52:24,294 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 16:52:24,476 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 16:52:24,476 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 16:52:24,476 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 16:52:24,476 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 16:52:24,476 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 16:52:24,476 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 16:52:24,476 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 16:52:24,476 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 16:52:24,476 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 16:52:24,491 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 16:52:24,491 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 16:52:24,491 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 16:52:24,491 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 16:52:24,491 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 16:52:24,491 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 16:52:24,491 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 16:52:24,491 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 16:52:24,491 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 16:52:24,491 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 16:52:24,491 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 16:52:24,491 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 16:52:24,491 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 16:52:24,491 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 16:52:24,507 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 16:52:24,507 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 16:52:24,507 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 16:52:24,507 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 16:52:24,507 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 16:52:24,507 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 16:52:24,523 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 16:52:24,523 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 16:52:24,523 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 16:52:24,523 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 16:52:24,523 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 16:52:24,523 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 16:52:24,523 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 16:52:24,523 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 16:52:24,523 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 16:52:24,523 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 16:52:24,523 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 16:52:24,538 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 16:52:24,538 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 16:52:24,541 - config.component_registry - INFO - Զע: components +2025-03-17 16:52:24,593 - root - INFO - ʼʼݿ... +2025-03-17 16:52:24,666 - root - INFO - ݿɹ +2025-03-17 16:52:24,666 - root - INFO - ʼʼ... +2025-03-17 16:52:24,666 - root - INFO - Ѵڣʼ +2025-03-17 16:52:24,666 - root - INFO - ݳʼɹ +2025-03-17 16:52:24,666 - core.component - INFO - Զ: components +2025-03-17 16:52:24,666 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 16:52:24,666 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 16:52:24,666 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 16:52:24,682 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 16:52:24,682 - config.component_registry - INFO - Զע: components +2025-03-17 16:52:24,714 - root - INFO - Ӧ +2025-03-17 17:02:22,757 - root - INFO - Ӧùر +2025-03-17 17:02:24,058 - root - INFO - ʼʼݿ... +2025-03-17 17:02:24,109 - root - INFO - ݿɹ +2025-03-17 17:02:24,113 - root - INFO - ʼʼ... +2025-03-17 17:02:24,131 - root - INFO - Ѵڣʼ +2025-03-17 17:02:24,131 - root - INFO - ݳʼɹ +2025-03-17 17:02:24,131 - core.component - INFO - Զ: components +2025-03-17 17:02:24,134 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:02:24,134 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 17:02:24,134 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 17:02:24,134 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 17:02:24,134 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 17:02:24,134 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 17:02:24,134 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 17:02:24,136 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 17:02:24,136 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 17:02:24,136 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 17:02:24,136 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:02:24,136 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:02:24,136 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:02:24,136 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:02:24,137 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:02:24,137 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:02:24,137 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:02:24,137 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:02:24,137 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:02:24,138 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:02:24,138 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 17:02:24,138 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 17:02:24,139 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:02:24,141 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:02:24,141 - core.component - INFO - ע: if -> IfComponent +2025-03-17 17:02:24,141 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 17:02:24,141 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 17:02:24,143 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 17:02:24,143 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 17:02:24,143 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 17:02:24,143 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 17:02:24,143 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 17:02:24,143 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 17:02:24,143 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 17:02:24,143 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:02:24,144 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:02:24,322 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 17:02:24,322 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 17:02:24,326 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:02:24,326 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:02:24,328 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 17:02:24,329 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 17:02:24,329 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 17:02:24,330 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 17:02:24,330 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 17:02:24,330 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 17:02:24,332 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:02:24,332 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:02:24,333 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:02:24,333 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:02:24,335 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:02:24,335 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:02:24,335 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 17:02:24,335 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 17:02:24,340 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:02:24,340 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:02:24,340 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 17:02:24,340 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 17:02:24,340 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 17:02:24,344 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 17:02:24,344 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 17:02:24,349 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 17:02:24,351 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 17:02:24,352 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 17:02:24,352 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 17:02:24,352 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 17:02:24,352 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 17:02:24,356 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 17:02:24,356 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:02:24,361 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:02:24,361 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:02:24,361 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:02:24,365 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:02:24,365 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:02:24,366 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:02:24,367 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:02:24,368 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:02:24,370 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:02:24,370 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:02:24,370 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:02:24,370 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 17:02:24,374 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:02:24,374 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 17:02:24,379 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 17:02:24,379 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 17:02:24,382 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 17:02:24,382 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 17:02:24,383 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 17:02:24,384 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:02:24,386 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:02:24,387 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:02:24,387 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:02:24,387 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:02:24,392 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:02:24,392 - config.component_registry - INFO - Զע: components +2025-03-17 17:02:24,445 - root - INFO - ʼʼݿ... +2025-03-17 17:02:24,518 - root - INFO - ݿɹ +2025-03-17 17:02:24,521 - root - INFO - ʼʼ... +2025-03-17 17:02:24,524 - root - INFO - Ѵڣʼ +2025-03-17 17:02:24,524 - root - INFO - ݳʼɹ +2025-03-17 17:02:24,524 - core.component - INFO - Զ: components +2025-03-17 17:02:24,524 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:02:24,529 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:02:24,529 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:02:24,534 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:02:24,536 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:02:24,538 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:02:24,538 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:02:24,539 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:02:24,540 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:02:24,541 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:02:24,541 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:02:24,542 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:02:24,542 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:02:24,545 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:02:24,547 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:02:24,549 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:02:24,551 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:02:24,553 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:02:24,553 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:02:24,554 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:02:24,554 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:02:24,555 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:02:24,555 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:02:24,555 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:02:24,555 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:02:24,556 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:02:24,556 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:02:24,556 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:02:24,556 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:02:24,556 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:02:24,556 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:02:24,556 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:02:24,556 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:02:24,556 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:02:24,558 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:02:24,558 - config.component_registry - INFO - Զע: components +2025-03-17 17:02:24,572 - root - INFO - Ӧ +2025-03-17 17:04:53,087 - root - INFO - Ӧùر +2025-03-17 17:04:54,853 - root - INFO - ʼʼݿ... +2025-03-17 17:04:54,926 - root - INFO - ݿɹ +2025-03-17 17:04:54,926 - root - INFO - ʼʼ... +2025-03-17 17:04:54,943 - root - INFO - Ѵڣʼ +2025-03-17 17:04:54,943 - root - INFO - ݳʼɹ +2025-03-17 17:04:54,943 - core.component - INFO - Զ: components +2025-03-17 17:04:54,943 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:04:54,947 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 17:04:54,947 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 17:04:54,951 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 17:04:54,951 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 17:04:54,955 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 17:04:54,955 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 17:04:54,959 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 17:04:54,959 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 17:04:54,959 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 17:04:54,964 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:04:54,964 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:04:54,964 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:04:54,968 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:04:54,972 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:04:54,972 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:04:54,972 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:04:54,972 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:04:54,972 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:04:54,976 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:04:54,976 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 17:04:54,980 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 17:04:54,980 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:04:54,980 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:04:54,984 - core.component - INFO - ע: if -> IfComponent +2025-03-17 17:04:54,984 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 17:04:54,989 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 17:04:54,989 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 17:04:54,993 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 17:04:54,993 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 17:04:54,997 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 17:04:54,997 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 17:04:55,001 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 17:04:55,001 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 17:04:55,001 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 17:04:55,001 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:04:55,001 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:04:55,001 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:04:55,001 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:04:55,001 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:04:55,001 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:04:55,001 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:04:55,001 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:04:55,001 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:04:55,001 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:04:55,005 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:04:55,174 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 17:04:55,174 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 17:04:55,174 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:04:55,178 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:04:55,178 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 17:04:55,183 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 17:04:55,183 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 17:04:55,183 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 17:04:55,183 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 17:04:55,187 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 17:04:55,187 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:04:55,187 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:04:55,187 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:04:55,187 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:04:55,187 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:04:55,187 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:04:55,191 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 17:04:55,191 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 17:04:55,191 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:04:55,191 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:04:55,191 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 17:04:55,191 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 17:04:55,191 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 17:04:55,191 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 17:04:55,191 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 17:04:55,191 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 17:04:55,191 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 17:04:55,195 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 17:04:55,195 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 17:04:55,195 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 17:04:55,195 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 17:04:55,195 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:04:55,195 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:04:55,200 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 17:04:55,200 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:04:55,200 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 17:04:55,200 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 17:04:55,200 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 17:04:55,200 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 17:04:55,200 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 17:04:55,200 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 17:04:55,200 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:04:55,200 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:04:55,200 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:04:55,200 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:04:55,200 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:04:55,200 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:04:55,204 - config.component_registry - INFO - Զע: components +2025-03-17 17:04:55,265 - root - INFO - ʼʼݿ... +2025-03-17 17:04:55,336 - root - INFO - ݿɹ +2025-03-17 17:04:55,336 - root - INFO - ʼʼ... +2025-03-17 17:04:55,336 - root - INFO - Ѵڣʼ +2025-03-17 17:04:55,338 - root - INFO - ݳʼɹ +2025-03-17 17:04:55,338 - core.component - INFO - Զ: components +2025-03-17 17:04:55,338 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:04:55,340 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:04:55,341 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:04:55,341 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:04:55,341 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:04:55,341 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:04:55,343 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:04:55,343 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:04:55,344 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:04:55,348 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:04:55,353 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:04:55,353 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:04:55,353 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:04:55,353 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:04:55,353 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:04:55,353 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:04:55,353 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:04:55,353 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:04:55,353 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:04:55,353 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:04:55,353 - config.component_registry - INFO - Զע: components +2025-03-17 17:04:55,370 - root - INFO - Ӧ +2025-03-17 17:09:54,367 - root - INFO - Ӧùر +2025-03-17 17:09:55,591 - root - INFO - ʼʼݿ... +2025-03-17 17:09:55,655 - root - INFO - ݿɹ +2025-03-17 17:09:55,655 - root - INFO - ʼʼ... +2025-03-17 17:09:55,675 - root - INFO - Ѵڣʼ +2025-03-17 17:09:55,675 - root - INFO - ݳʼɹ +2025-03-17 17:09:55,676 - core.component - INFO - Զ: components +2025-03-17 17:09:55,677 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:09:55,677 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 17:09:55,677 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 17:09:55,678 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 17:09:55,679 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 17:09:55,679 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 17:09:55,679 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 17:09:55,679 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 17:09:55,679 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 17:09:55,679 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 17:09:55,679 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:09:55,679 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:09:55,679 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:09:55,679 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:09:55,679 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:09:55,679 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:09:55,679 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:09:55,679 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:09:55,679 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:09:55,679 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 17:09:55,682 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:09:55,682 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: if -> IfComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 17:09:55,682 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 17:09:55,682 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:09:55,682 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:09:55,682 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:09:55,682 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:09:55,682 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:09:55,687 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:09:55,687 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:09:55,687 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:09:55,687 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:09:55,687 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:09:55,687 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:09:55,871 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 17:09:55,871 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 17:09:55,875 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:09:55,875 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:09:55,875 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 17:09:55,876 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 17:09:55,876 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 17:09:55,876 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 17:09:55,876 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 17:09:55,876 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 17:09:55,877 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:09:55,877 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:09:55,877 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:09:55,877 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:09:55,878 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:09:55,879 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:09:55,879 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 17:09:55,879 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 17:09:55,879 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:09:55,879 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:09:55,879 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 17:09:55,879 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 17:09:55,879 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 17:09:55,879 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 17:09:55,879 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 17:09:55,882 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 17:09:55,882 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 17:09:55,882 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 17:09:55,882 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 17:09:55,882 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 17:09:55,882 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 17:09:55,882 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 17:09:55,882 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:09:55,882 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:09:55,882 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:09:55,882 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:09:55,882 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:09:55,882 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:09:55,886 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:09:55,886 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:09:55,886 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:09:55,886 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:09:55,886 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:09:55,886 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:09:55,886 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 17:09:55,886 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:09:55,886 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 17:09:55,886 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 17:09:55,886 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 17:09:55,886 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 17:09:55,886 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 17:09:55,886 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 17:09:55,891 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:09:55,891 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:09:55,891 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:09:55,891 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:09:55,891 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:09:55,891 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:09:55,894 - config.component_registry - INFO - Զע: components +2025-03-17 17:09:55,950 - root - INFO - ʼʼݿ... +2025-03-17 17:09:56,031 - root - INFO - ݿɹ +2025-03-17 17:09:56,031 - root - INFO - ʼʼ... +2025-03-17 17:09:56,031 - root - INFO - Ѵڣʼ +2025-03-17 17:09:56,031 - root - INFO - ݳʼɹ +2025-03-17 17:09:56,031 - core.component - INFO - Զ: components +2025-03-17 17:09:56,031 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:09:56,031 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:09:56,031 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:09:56,031 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:09:56,031 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:09:56,035 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:09:56,039 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:09:56,043 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:09:56,043 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:09:56,043 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:09:56,043 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:09:56,044 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:09:56,044 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:09:56,044 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:09:56,045 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:09:56,045 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:09:56,045 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:09:56,045 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:09:56,046 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:09:56,046 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:09:56,046 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:09:56,047 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:09:56,047 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:09:56,047 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:09:56,047 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:09:56,047 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:09:56,047 - config.component_registry - INFO - Զע: components +2025-03-17 17:09:56,061 - root - INFO - Ӧ +2025-03-17 17:13:58,751 - root - INFO - Ӧùر +2025-03-17 17:14:00,291 - root - INFO - ʼʼݿ... +2025-03-17 17:14:00,332 - root - INFO - ݿɹ +2025-03-17 17:14:00,333 - root - INFO - ʼʼ... +2025-03-17 17:14:00,351 - root - INFO - Ѵڣʼ +2025-03-17 17:14:00,351 - root - INFO - ݳʼɹ +2025-03-17 17:14:00,352 - core.component - INFO - Զ: components +2025-03-17 17:14:00,353 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:14:00,353 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 17:14:00,353 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 17:14:00,353 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 17:14:00,353 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 17:14:00,353 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 17:14:00,354 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 17:14:00,354 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 17:14:00,354 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 17:14:00,354 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 17:14:00,354 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:14:00,354 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:14:00,355 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:14:00,355 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:14:00,355 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:14:00,356 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:14:00,357 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:14:00,357 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:14:00,357 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:14:00,357 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:14:00,358 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 17:14:00,358 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 17:14:00,358 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:14:00,358 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:14:00,359 - core.component - INFO - ע: if -> IfComponent +2025-03-17 17:14:00,359 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 17:14:00,359 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 17:14:00,359 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 17:14:00,360 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 17:14:00,360 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 17:14:00,360 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 17:14:00,360 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 17:14:00,360 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 17:14:00,360 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 17:14:00,360 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 17:14:00,360 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:14:00,360 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:14:00,361 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:14:00,361 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:14:00,361 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:14:00,361 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:14:00,361 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:14:00,361 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:14:00,361 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:14:00,361 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:14:00,361 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:14:00,538 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 17:14:00,538 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 17:14:00,539 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:14:00,540 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:14:00,544 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 17:14:00,545 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 17:14:00,546 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 17:14:00,547 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 17:14:00,547 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 17:14:00,548 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 17:14:00,549 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:14:00,550 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:14:00,550 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:14:00,550 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:14:00,551 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:14:00,551 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:14:00,552 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 17:14:00,552 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 17:14:00,552 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:14:00,552 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:14:00,554 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 17:14:00,554 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 17:14:00,554 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 17:14:00,554 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 17:14:00,554 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 17:14:00,555 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 17:14:00,555 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 17:14:00,555 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 17:14:00,556 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 17:14:00,556 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 17:14:00,556 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 17:14:00,556 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 17:14:00,557 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:14:00,557 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:14:00,557 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:14:00,557 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:14:00,557 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:14:00,557 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:14:00,557 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:14:00,557 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:14:00,558 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:14:00,558 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:14:00,558 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:14:00,558 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:14:00,558 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 17:14:00,558 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:14:00,559 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 17:14:00,559 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 17:14:00,560 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 17:14:00,560 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 17:14:00,560 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 17:14:00,560 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 17:14:00,560 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:14:00,560 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:14:00,560 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:14:00,560 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:14:00,560 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:14:00,560 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:14:00,561 - config.component_registry - INFO - Զע: components +2025-03-17 17:14:00,609 - root - INFO - ʼʼݿ... +2025-03-17 17:14:00,678 - root - INFO - ݿɹ +2025-03-17 17:14:00,679 - root - INFO - ʼʼ... +2025-03-17 17:14:00,682 - root - INFO - Ѵڣʼ +2025-03-17 17:14:00,684 - root - INFO - ݳʼɹ +2025-03-17 17:14:00,685 - core.component - INFO - Զ: components +2025-03-17 17:14:00,688 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:14:00,688 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:14:00,689 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:14:00,689 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:14:00,690 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:14:00,693 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:14:00,694 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:14:00,694 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:14:00,695 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:14:00,696 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:14:00,697 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:14:00,697 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:14:00,698 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:14:00,698 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:14:00,699 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:14:00,699 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:14:00,699 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:14:00,700 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:14:00,701 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:14:00,701 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:14:00,701 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:14:00,701 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:14:00,701 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:14:00,702 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:14:00,702 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:14:00,702 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:14:00,702 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:14:00,702 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:14:00,703 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:14:00,703 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:14:00,703 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:14:00,703 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:14:00,705 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:14:00,705 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:14:00,707 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:14:00,707 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:14:00,708 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:14:00,708 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:14:00,708 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:14:00,708 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:14:00,709 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:14:00,709 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:14:00,709 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:14:00,710 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:14:00,710 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:14:00,710 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:14:00,711 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:14:00,712 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:14:00,714 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:14:00,714 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:14:00,715 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:14:00,715 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:14:00,715 - config.component_registry - INFO - Զע: components +2025-03-17 17:14:00,729 - root - INFO - Ӧ +2025-03-17 17:39:05,740 - root - INFO - Ӧùر +2025-03-17 17:39:07,162 - root - INFO - ʼʼݿ... +2025-03-17 17:39:07,217 - root - INFO - ݿɹ +2025-03-17 17:39:07,218 - root - INFO - ʼʼ... +2025-03-17 17:39:07,234 - root - INFO - Ѵڣʼ +2025-03-17 17:39:07,234 - root - INFO - ݳʼɹ +2025-03-17 17:39:07,244 - core.component - INFO - Զ: components +2025-03-17 17:39:07,244 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:39:07,247 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 17:39:07,248 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 17:39:07,249 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 17:39:07,251 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 17:39:07,252 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 17:39:07,255 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 17:39:07,257 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 17:39:07,259 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 17:39:07,259 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 17:39:07,260 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:39:07,260 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:39:07,261 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:39:07,263 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:39:07,264 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:39:07,265 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:39:07,266 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:39:07,268 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:39:07,268 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:39:07,268 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:39:07,268 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 17:39:07,268 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 17:39:07,269 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:39:07,269 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:39:07,270 - core.component - INFO - ע: if -> IfComponent +2025-03-17 17:39:07,270 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 17:39:07,270 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 17:39:07,271 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 17:39:07,271 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 17:39:07,271 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 17:39:07,271 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 17:39:07,271 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 17:39:07,272 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 17:39:07,272 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 17:39:07,272 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 17:39:07,272 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:39:07,272 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:39:07,272 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:39:07,273 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:39:07,273 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:39:07,273 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:39:07,273 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:39:07,273 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:39:07,273 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:39:07,273 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:39:07,273 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:39:07,477 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 17:39:07,477 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 17:39:07,477 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:39:07,477 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:39:07,477 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 17:39:07,477 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 17:39:07,477 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 17:39:07,488 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:39:07,488 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:39:07,498 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:39:07,498 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 17:39:07,498 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 17:39:07,498 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 17:39:07,498 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 17:39:07,498 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 17:39:07,498 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:39:07,498 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:39:07,498 - config.component_registry - INFO - Զע: components +2025-03-17 17:39:07,549 - root - INFO - ʼʼݿ... +2025-03-17 17:39:07,622 - root - INFO - ݿɹ +2025-03-17 17:39:07,625 - root - INFO - ʼʼ... +2025-03-17 17:39:07,625 - root - INFO - Ѵڣʼ +2025-03-17 17:39:07,625 - root - INFO - ݳʼɹ +2025-03-17 17:39:07,625 - core.component - INFO - Զ: components +2025-03-17 17:39:07,625 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:39:07,625 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:39:07,638 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:39:07,654 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:39:07,670 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:39:07,686 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:39:07,686 - config.component_registry - INFO - Զע: components +2025-03-17 17:39:07,701 - root - INFO - Ӧ +2025-03-17 17:44:06,554 - root - INFO - Ӧùر +2025-03-17 17:44:07,979 - root - INFO - ʼʼݿ... +2025-03-17 17:44:08,050 - root - INFO - ݿɹ +2025-03-17 17:44:08,051 - root - INFO - ʼʼ... +2025-03-17 17:44:08,068 - root - INFO - Ѵڣʼ +2025-03-17 17:44:08,068 - root - INFO - ݳʼɹ +2025-03-17 17:44:08,069 - core.component - INFO - Զ: components +2025-03-17 17:44:08,070 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:44:08,070 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 17:44:08,070 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 17:44:08,070 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 17:44:08,071 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 17:44:08,071 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 17:44:08,071 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 17:44:08,072 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 17:44:08,072 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 17:44:08,072 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 17:44:08,072 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:44:08,073 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:44:08,073 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:44:08,073 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:44:08,073 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:44:08,073 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:44:08,073 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:44:08,073 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:44:08,073 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:44:08,073 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:44:08,074 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 17:44:08,074 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 17:44:08,074 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:44:08,074 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:44:08,075 - core.component - INFO - ע: if -> IfComponent +2025-03-17 17:44:08,075 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 17:44:08,075 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 17:44:08,075 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 17:44:08,075 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 17:44:08,075 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 17:44:08,075 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 17:44:08,075 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 17:44:08,076 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 17:44:08,076 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 17:44:08,078 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 17:44:08,078 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:44:08,079 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:44:08,080 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:44:08,080 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:44:08,082 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:44:08,082 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:44:08,083 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:44:08,085 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:44:08,086 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:44:08,086 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:44:08,087 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:44:08,263 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 17:44:08,263 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 17:44:08,265 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:44:08,267 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:44:08,268 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 17:44:08,268 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 17:44:08,268 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 17:44:08,269 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 17:44:08,271 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 17:44:08,271 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 17:44:08,272 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:44:08,272 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:44:08,272 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:44:08,272 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:44:08,272 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:44:08,272 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:44:08,273 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 17:44:08,273 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 17:44:08,274 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:44:08,274 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:44:08,274 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 17:44:08,276 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 17:44:08,277 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 17:44:08,277 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 17:44:08,277 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 17:44:08,277 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 17:44:08,278 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 17:44:08,278 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 17:44:08,278 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 17:44:08,278 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 17:44:08,278 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 17:44:08,279 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 17:44:08,279 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:44:08,279 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:44:08,279 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:44:08,279 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:44:08,281 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:44:08,281 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 17:44:08,281 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 17:44:08,281 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 17:44:08,281 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 17:44:08,281 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 17:44:08,281 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:44:08,281 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:44:08,281 - config.component_config - INFO - Զע: components +2025-03-17 17:44:08,358 - root - INFO - ʼʼݿ... +2025-03-17 17:44:08,401 - root - INFO - ݿɹ +2025-03-17 17:44:08,401 - root - INFO - ʼʼ... +2025-03-17 17:44:08,402 - root - INFO - Ѵڣʼ +2025-03-17 17:44:08,402 - root - INFO - ݳʼɹ +2025-03-17 17:44:08,402 - core.component - INFO - Զ: components +2025-03-17 17:44:08,403 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:44:08,403 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:44:08,403 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:44:08,403 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:44:08,404 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:44:08,404 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:44:08,404 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:44:08,404 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:44:08,404 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:44:08,404 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:44:08,404 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:44:08,405 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:44:08,405 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:44:08,405 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:44:08,405 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:44:08,405 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:44:08,405 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:44:08,406 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:44:08,406 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:44:08,406 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:44:08,406 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:44:08,406 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:44:08,406 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:44:08,407 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:44:08,407 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:44:08,407 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:44:08,407 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:44:08,407 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:44:08,407 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:44:08,408 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:44:08,408 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:44:08,408 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:44:08,408 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:44:08,408 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:44:08,408 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:44:08,409 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:44:08,409 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:44:08,409 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:44:08,409 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:44:08,409 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:44:08,409 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:44:08,409 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:44:08,411 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:44:08,411 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:44:08,411 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:44:08,411 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:44:08,411 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:44:08,412 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:44:08,412 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:44:08,412 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:44:08,412 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:44:08,412 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:44:08,413 - config.component_config - INFO - Զע: components +2025-03-17 17:44:08,426 - root - INFO - Ӧ +2025-03-17 17:45:18,167 - root - INFO - Ӧùر +2025-03-17 17:45:19,385 - root - INFO - ʼʼݿ... +2025-03-17 17:45:19,433 - root - INFO - ݿɹ +2025-03-17 17:45:19,433 - root - INFO - ʼʼ... +2025-03-17 17:45:19,448 - root - INFO - Ѵڣʼ +2025-03-17 17:45:19,448 - root - INFO - ݳʼɹ +2025-03-17 17:45:19,448 - core.component - INFO - Զ: components +2025-03-17 17:45:19,448 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:45:19,448 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 17:45:19,448 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 17:45:19,448 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 17:45:19,465 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 17:45:19,465 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 17:45:19,465 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 17:45:19,465 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 17:45:19,465 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 17:45:19,465 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:45:19,465 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 17:45:19,465 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:45:19,465 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: if -> IfComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 17:45:19,481 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 17:45:19,481 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:45:19,497 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:45:19,497 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:45:19,497 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:45:19,497 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:45:19,497 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:45:19,500 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:45:19,500 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:45:19,500 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:45:19,500 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:45:19,500 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:45:19,672 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 17:45:19,672 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 17:45:19,672 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:45:19,672 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:45:19,672 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 17:45:19,672 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 17:45:19,672 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 17:45:19,672 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 17:45:19,672 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 17:45:19,672 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 17:45:19,672 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:45:19,672 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 17:45:19,688 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:45:19,688 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:45:19,688 - config.component_config - INFO - Զע: components +2025-03-17 17:45:19,736 - root - INFO - ʼʼݿ... +2025-03-17 17:45:19,800 - root - INFO - ݿɹ +2025-03-17 17:45:19,800 - root - INFO - ʼʼ... +2025-03-17 17:45:19,800 - root - INFO - Ѵڣʼ +2025-03-17 17:45:19,800 - root - INFO - ݳʼɹ +2025-03-17 17:45:19,800 - core.component - INFO - Զ: components +2025-03-17 17:45:19,800 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:45:19,800 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:45:19,800 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:45:19,800 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:45:19,800 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:45:19,800 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:45:19,800 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:45:19,800 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:45:19,816 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:45:19,816 - config.component_config - INFO - Զע: components +2025-03-17 17:45:19,831 - root - INFO - Ӧ +2025-03-17 17:50:18,938 - root - INFO - Ӧùر +2025-03-17 17:50:20,401 - root - INFO - ʼʼݿ... +2025-03-17 17:50:20,503 - root - INFO - ݿɹ +2025-03-17 17:50:20,504 - root - INFO - ʼʼ... +2025-03-17 17:50:20,522 - root - INFO - Ѵڣʼ +2025-03-17 17:50:20,529 - root - INFO - ݳʼɹ +2025-03-17 17:50:20,529 - core.component - INFO - Զ: components +2025-03-17 17:50:20,533 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:50:20,534 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 17:50:20,546 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 17:50:20,546 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 17:50:20,546 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 17:50:20,548 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 17:50:20,548 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 17:50:20,548 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 17:50:20,548 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 17:50:20,548 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 17:50:20,549 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:50:20,549 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:50:20,549 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:50:20,551 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:50:20,562 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:50:20,562 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:50:20,563 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:50:20,563 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:50:20,564 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:50:20,565 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:50:20,566 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 17:50:20,567 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 17:50:20,567 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:50:20,567 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:50:20,568 - core.component - INFO - ע: if -> IfComponent +2025-03-17 17:50:20,568 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 17:50:20,568 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 17:50:20,568 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 17:50:20,568 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 17:50:20,568 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 17:50:20,570 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 17:50:20,570 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 17:50:20,570 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 17:50:20,570 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 17:50:20,570 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 17:50:20,570 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:50:20,570 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:50:20,570 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:50:20,570 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:50:20,570 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:50:20,570 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:50:20,570 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:50:20,570 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:50:20,571 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:50:20,571 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:50:20,571 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:50:20,760 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 17:50:20,761 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 17:50:20,762 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:50:20,764 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:50:20,765 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 17:50:20,765 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 17:50:20,769 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 17:50:20,769 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 17:50:20,773 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 17:50:20,773 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 17:50:20,773 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:50:20,773 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:50:20,773 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:50:20,773 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:50:20,773 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:50:20,773 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:50:20,773 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 17:50:20,773 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 17:50:20,773 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:50:20,773 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 17:50:20,777 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 17:50:20,777 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:50:20,777 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:50:20,777 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:50:20,777 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:50:20,777 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:50:20,777 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:50:20,781 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:50:20,781 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:50:20,781 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:50:20,781 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:50:20,781 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:50:20,782 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:50:20,782 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 17:50:20,782 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:50:20,783 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 17:50:20,783 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 17:50:20,783 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 17:50:20,783 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 17:50:20,783 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 17:50:20,783 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 17:50:20,783 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:50:20,785 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:50:20,785 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:50:20,785 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:50:20,785 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:50:20,785 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:50:20,785 - config.component_config - INFO - Զע: components +2025-03-17 17:50:20,843 - root - INFO - ʼʼݿ... +2025-03-17 17:50:20,930 - root - INFO - ݿɹ +2025-03-17 17:50:20,932 - root - INFO - ʼʼ... +2025-03-17 17:50:20,934 - root - INFO - Ѵڣʼ +2025-03-17 17:50:20,935 - root - INFO - ݳʼɹ +2025-03-17 17:50:20,935 - core.component - INFO - Զ: components +2025-03-17 17:50:20,935 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:50:20,935 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:50:20,936 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:50:20,936 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:50:20,936 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:50:20,936 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:50:20,937 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:50:20,937 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:50:20,937 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:50:20,937 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:50:20,937 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:50:20,937 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:50:20,937 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:50:20,937 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:50:20,938 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:50:20,938 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:50:20,938 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:50:20,938 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:50:20,938 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:50:20,938 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:50:20,938 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:50:20,938 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:50:20,938 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:50:20,938 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:50:20,939 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:50:20,939 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:50:20,939 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:50:20,939 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:50:20,939 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:50:20,939 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:50:20,939 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:50:20,939 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:50:20,939 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:50:20,939 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:50:20,940 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:50:20,940 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:50:20,940 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:50:20,940 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:50:20,940 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:50:20,940 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:50:20,940 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:50:20,940 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:50:20,940 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:50:20,940 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:50:20,941 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:50:20,941 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:50:20,941 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:50:20,941 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:50:20,941 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:50:20,941 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:50:20,941 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:50:20,941 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:50:20,941 - config.component_config - INFO - Զע: components +2025-03-17 17:50:20,955 - root - INFO - Ӧ +2025-03-17 17:51:23,540 - root - INFO - Ӧùر +2025-03-17 17:51:24,780 - root - INFO - ʼʼݿ... +2025-03-17 17:51:24,820 - root - INFO - ݿɹ +2025-03-17 17:51:24,830 - root - INFO - ʼʼ... +2025-03-17 17:51:24,844 - root - INFO - Ѵڣʼ +2025-03-17 17:51:24,844 - root - INFO - ݳʼɹ +2025-03-17 17:51:24,851 - core.component - INFO - Զ: components +2025-03-17 17:51:24,851 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:51:24,851 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 17:51:24,851 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 17:51:24,851 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 17:51:24,851 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 17:51:24,851 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 17:51:24,851 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 17:51:24,861 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 17:51:24,861 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 17:51:24,861 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 17:51:24,861 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:51:24,861 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:51:24,861 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:51:24,861 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:51:24,861 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:51:24,861 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:51:24,872 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:51:24,872 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:51:24,872 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:51:24,872 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:51:24,872 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 17:51:24,872 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 17:51:24,872 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:51:24,882 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:51:24,882 - core.component - INFO - ע: if -> IfComponent +2025-03-17 17:51:24,882 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 17:51:24,882 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 17:51:24,882 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 17:51:24,882 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 17:51:24,882 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 17:51:24,882 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 17:51:24,882 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 17:51:24,882 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 17:51:24,882 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 17:51:24,892 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 17:51:24,892 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:51:24,892 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:51:24,892 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:51:24,892 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:51:24,892 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:51:24,892 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:51:24,892 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:51:24,892 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:51:24,902 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:51:24,902 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:51:24,902 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:51:25,076 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 17:51:25,076 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 17:51:25,076 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 17:51:25,086 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:51:25,086 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:51:25,096 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:51:25,096 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:51:25,096 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:51:25,096 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 17:51:25,096 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:51:25,096 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 17:51:25,096 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 17:51:25,096 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 17:51:25,096 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 17:51:25,096 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 17:51:25,096 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 17:51:25,096 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:51:25,096 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:51:25,096 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:51:25,096 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:51:25,096 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:51:25,096 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:51:25,096 - config.component_config - INFO - Զע: components +2025-03-17 17:51:25,156 - root - INFO - ʼʼݿ... +2025-03-17 17:51:25,210 - root - INFO - ݿɹ +2025-03-17 17:51:25,210 - root - INFO - ʼʼ... +2025-03-17 17:51:25,210 - root - INFO - Ѵڣʼ +2025-03-17 17:51:25,210 - root - INFO - ݳʼɹ +2025-03-17 17:51:25,210 - core.component - INFO - Զ: components +2025-03-17 17:51:25,210 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:51:25,210 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:51:25,210 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:51:25,210 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:51:25,210 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:51:25,210 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:51:25,210 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:51:25,210 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:51:25,210 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:51:25,210 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:51:25,220 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:51:25,220 - config.component_config - INFO - Զע: components +2025-03-17 17:51:25,241 - root - INFO - Ӧ +2025-03-17 17:55:34,891 - root - INFO - Ӧùر +2025-03-17 17:55:36,179 - root - INFO - ʼʼݿ... +2025-03-17 17:55:36,243 - root - INFO - ݿɹ +2025-03-17 17:55:36,243 - root - INFO - ʼʼ... +2025-03-17 17:55:36,261 - root - INFO - Ѵڣʼ +2025-03-17 17:55:36,261 - root - INFO - ݳʼɹ +2025-03-17 17:55:36,261 - core.component - INFO - Զ: components +2025-03-17 17:55:36,261 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:55:36,261 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 17:55:36,261 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 17:55:36,261 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 17:55:36,275 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 17:55:36,275 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 17:55:36,275 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 17:55:36,275 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 17:55:36,275 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 17:55:36,275 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 17:55:36,275 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:55:36,275 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:55:36,275 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:55:36,275 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:55:36,275 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:55:36,275 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:55:36,275 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:55:36,290 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:55:36,290 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:55:36,290 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:55:36,290 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 17:55:36,290 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 17:55:36,290 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:55:36,290 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:55:36,290 - core.component - INFO - ע: if -> IfComponent +2025-03-17 17:55:36,290 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 17:55:36,290 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 17:55:36,290 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 17:55:36,290 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 17:55:36,290 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 17:55:36,290 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 17:55:36,306 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 17:55:36,306 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 17:55:36,306 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 17:55:36,306 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 17:55:36,306 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:55:36,306 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:55:36,306 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:55:36,306 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:55:36,306 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:55:36,306 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:55:36,306 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:55:36,306 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:55:36,306 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:55:36,306 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:55:36,322 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:55:36,491 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 17:55:36,491 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 17:55:36,491 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:55:36,491 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:55:36,491 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 17:55:36,491 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 17:55:36,491 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 17:55:36,491 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 17:55:36,491 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 17:55:36,491 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 17:55:36,503 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:55:36,503 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:55:36,503 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:55:36,504 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:55:36,504 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:55:36,504 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:55:36,504 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 17:55:36,505 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 17:55:36,505 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:55:36,505 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:55:36,505 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 17:55:36,506 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 17:55:36,506 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 17:55:36,506 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 17:55:36,506 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 17:55:36,507 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 17:55:36,507 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 17:55:36,507 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 17:55:36,507 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 17:55:36,508 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 17:55:36,508 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 17:55:36,508 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 17:55:36,508 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:55:36,509 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:55:36,509 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:55:36,509 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:55:36,509 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:55:36,509 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:55:36,510 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:55:36,510 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:55:36,510 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:55:36,510 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:55:36,511 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:55:36,511 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:55:36,511 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 17:55:36,511 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:55:36,512 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 17:55:36,512 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 17:55:36,513 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 17:55:36,513 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 17:55:36,513 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 17:55:36,514 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 17:55:36,514 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:55:36,514 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:55:36,514 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:55:36,514 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:55:36,514 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:55:36,515 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:55:36,515 - config.component_config - INFO - Զע: components +2025-03-17 17:55:36,555 - root - INFO - ʼʼݿ... +2025-03-17 17:55:36,603 - root - INFO - ݿɹ +2025-03-17 17:55:36,603 - root - INFO - ʼʼ... +2025-03-17 17:55:36,619 - root - INFO - Ѵڣʼ +2025-03-17 17:55:36,619 - root - INFO - ݳʼɹ +2025-03-17 17:55:36,619 - core.component - INFO - Զ: components +2025-03-17 17:55:36,619 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 17:55:36,619 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 17:55:36,619 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 17:55:36,619 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 17:55:36,619 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 17:55:36,619 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 17:55:36,619 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 17:55:36,619 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 17:55:36,635 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 17:55:36,651 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 17:55:36,666 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 17:55:36,683 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 17:55:36,683 - config.component_config - INFO - Զע: components +2025-03-17 17:55:36,699 - root - INFO - Ӧ +2025-03-17 18:00:35,650 - root - INFO - Ӧùر +2025-03-17 18:04:24,228 - root - INFO - ʼʼݿ... +2025-03-17 18:04:24,280 - root - INFO - ݿɹ +2025-03-17 18:04:24,280 - root - INFO - ʼʼ... +2025-03-17 18:04:24,307 - root - INFO - Ѵڣʼ +2025-03-17 18:04:24,307 - root - INFO - ݳʼɹ +2025-03-17 18:04:24,311 - core.component - INFO - Զ: components +2025-03-17 18:04:24,313 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 18:04:24,313 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 18:04:24,313 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 18:04:24,313 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 18:04:24,313 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 18:04:24,323 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 18:04:24,323 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 18:04:24,323 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 18:04:24,323 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 18:04:24,323 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 18:04:24,323 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 18:04:24,328 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 18:04:24,329 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 18:04:24,329 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 18:04:24,330 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 18:04:24,330 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 18:04:24,331 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 18:04:24,331 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 18:04:24,331 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 18:04:24,331 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 18:04:24,331 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 18:04:24,331 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 18:04:24,331 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 18:04:24,331 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 18:04:24,331 - core.component - INFO - ע: if -> IfComponent +2025-03-17 18:04:24,341 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 18:04:24,341 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 18:04:24,341 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 18:04:24,344 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 18:04:24,344 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 18:04:24,344 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 18:04:24,344 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 18:04:24,344 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 18:04:24,354 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 18:04:24,354 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 18:04:24,354 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 18:04:24,354 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 18:04:24,354 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 18:04:24,362 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 18:04:24,363 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 18:04:24,363 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 18:04:24,363 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 18:04:24,363 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 18:04:24,363 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 18:04:24,363 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 18:04:24,363 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 18:04:24,547 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 18:04:24,557 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 18:04:24,563 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 18:04:24,563 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 18:04:24,564 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 18:04:24,564 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 18:04:24,564 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 18:04:24,564 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 18:04:24,564 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 18:04:24,564 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 18:04:24,564 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 18:04:24,564 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 18:04:24,564 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 18:04:24,564 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 18:04:24,564 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 18:04:24,564 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 18:04:24,564 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 18:04:24,564 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 18:04:24,571 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 18:04:24,571 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 18:04:24,575 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 18:04:24,579 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 18:04:24,579 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 18:04:24,580 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 18:04:24,580 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 18:04:24,580 - config.component_config - INFO - Զע: components +2025-03-17 18:04:24,630 - root - INFO - ʼʼݿ... +2025-03-17 18:04:24,679 - root - INFO - ݿɹ +2025-03-17 18:04:24,679 - root - INFO - ʼʼ... +2025-03-17 18:04:24,690 - root - INFO - Ѵڣʼ +2025-03-17 18:04:24,690 - root - INFO - ݳʼɹ +2025-03-17 18:04:24,694 - core.component - INFO - Զ: components +2025-03-17 18:04:24,695 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 18:04:24,696 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 18:04:24,696 - config.component_config - INFO - Զע: components +2025-03-17 18:04:24,713 - root - INFO - Ӧ +2025-03-17 18:07:14,743 - root - INFO - Ӧùر +2025-03-17 18:07:16,004 - root - INFO - ʼʼݿ... +2025-03-17 18:07:16,049 - root - INFO - ݿɹ +2025-03-17 18:07:16,049 - root - INFO - ʼʼ... +2025-03-17 18:07:16,070 - root - INFO - Ѵڣʼ +2025-03-17 18:07:16,070 - root - INFO - ݳʼɹ +2025-03-17 18:07:16,070 - core.component - INFO - Զ: components +2025-03-17 18:07:16,070 - core.component - INFO - ע: check_task_instance_id_exists -> CheckTaskInstanceIdExistsComponent +2025-03-17 18:07:16,070 - core.component - INFO - ע: create_unique_id -> CreateUniqueIdComponent +2025-03-17 18:07:16,070 - core.component - INFO - ע: current_timestamp -> CurrentTimestampComponent +2025-03-17 18:07:16,070 - core.component - INFO - ע: current_time -> CurrentTimeComponent +2025-03-17 18:07:16,070 - core.component - INFO - ע: execute_sql -> ExecuteSqlComponent +2025-03-17 18:07:16,070 - core.component - INFO - ע: query_sql -> QuerySqlComponent +2025-03-17 18:07:16,070 - core.component - INFO - ע: string_md5_encrypt -> StringMd5EncryptComponent +2025-03-17 18:07:16,070 - core.component - INFO - ע: string_to_json_array -> StringToJsonArrayComponent +2025-03-17 18:07:16,070 - core.component - INFO - ע: string_to_json_object -> StringToJsonObjectComponent +2025-03-17 18:07:16,080 - core.component - INFO - ע: print -> PrintComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 18:07:16,080 - core.component - INFO - ע: wait_modbus_value -> WaitModbusValueComponent +2025-03-17 18:07:16,080 - core.component - INFO - ע: write_modbus_value -> WriteModbusValueComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 18:07:16,080 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 18:07:16,091 - core.component - INFO - ע: if -> IfComponent +2025-03-17 18:07:16,091 - core.component - INFO - ע: if_else -> IfElseComponent +2025-03-17 18:07:16,091 - core.component - INFO - ע: if_else_if -> IfElseIfComponent +2025-03-17 18:07:16,091 - core.component - INFO - ע: for_each -> ForEachComponent +2025-03-17 18:07:16,091 - core.component - INFO - ע: while -> WhileComponent +2025-03-17 18:07:16,091 - core.component - INFO - ע: break -> BreakComponent +2025-03-17 18:07:16,101 - core.component - INFO - ע: return -> ReturnComponent +2025-03-17 18:07:16,101 - core.component - INFO - ע: delay -> DelayComponent +2025-03-17 18:07:16,101 - core.component - INFO - ע: parallel_execute -> ParallelExecuteComponent +2025-03-17 18:07:16,101 - core.component - INFO - ע: serial_execute -> SerialExecuteComponent +2025-03-17 18:07:16,101 - core.component - INFO - ע: throw_exception -> ThrowExceptionComponent +2025-03-17 18:07:16,101 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 18:07:16,101 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 18:07:16,101 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 18:07:16,111 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 18:07:16,111 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 18:07:16,111 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 18:07:16,111 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 18:07:16,111 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 18:07:16,111 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 18:07:16,122 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 18:07:16,122 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 18:07:16,298 - core.component - INFO - ע: http_get_request -> HttpGetRequestComponent +2025-03-17 18:07:16,298 - core.component - INFO - ע: http_post_request -> HttpPostRequestComponent +2025-03-17 18:07:16,298 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 18:07:16,308 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 18:07:16,308 - core.component - INFO - ע: select_robot -> SelectRobotComponent +2025-03-17 18:07:16,308 - core.component - INFO - ע: get_robot_position -> GetRobotPositionComponent +2025-03-17 18:07:16,308 - core.component - INFO - ע: robot_action -> RobotActionComponent +2025-03-17 18:07:16,308 - core.component - INFO - ע: change_robot_destination -> ChangeRobotDestinationComponent +2025-03-17 18:07:16,308 - core.component - INFO - ע: get_robot_battery -> GetRobotBatteryComponent +2025-03-17 18:07:16,308 - core.component - INFO - ע: get_robot_pgv_code -> GetRobotPGVCodeComponent +2025-03-17 18:07:16,308 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 18:07:16,308 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 18:07:16,308 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 18:07:16,308 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 18:07:16,308 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 18:07:16,313 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 18:07:16,313 - core.component - INFO - ע: run_script -> RunScriptComponent +2025-03-17 18:07:16,313 - core.component - INFO - ע: set_task_variables -> SetTaskVariablesComponent +2025-03-17 18:07:16,313 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 18:07:16,313 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 18:07:16,313 - core.component - INFO - ע: batch_set_site -> BatchSetSiteComponent +2025-03-17 18:07:16,313 - core.component - INFO - ע: get_dense_site -> GetDenseSiteComponent +2025-03-17 18:07:16,313 - core.component - INFO - ע: query_site -> QuerySiteComponent +2025-03-17 18:07:16,313 - core.component - INFO - ע: lock_site -> LockSiteComponent +2025-03-17 18:07:16,313 - core.component - INFO - ע: unlock_site -> UnlockSiteComponent +2025-03-17 18:07:16,313 - core.component - INFO - ע: get_locked_sites_by_task -> GetLockedSitesByTaskComponent +2025-03-17 18:07:16,318 - core.component - INFO - ע: get_site_extension_property -> GetSiteExtensionPropertyComponent +2025-03-17 18:07:16,318 - core.component - INFO - ע: set_site_extension_property -> SetSiteExtensionPropertyComponent +2025-03-17 18:07:16,318 - core.component - INFO - ע: set_site_goods -> SetSiteGoodsComponent +2025-03-17 18:07:16,318 - core.component - INFO - ע: set_site_empty -> SetSiteEmptyComponent +2025-03-17 18:07:16,318 - core.component - INFO - ע: set_site_occupied -> SetSiteOccupiedComponent +2025-03-17 18:07:16,318 - core.component - INFO - ע: set_site_tag -> SetSiteTagComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 18:07:16,318 - core.component - INFO - ע: subtask -> SubtaskComponent +2025-03-17 18:07:16,318 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 18:07:16,318 - core.component - INFO - ע: cache_data -> CacheDataComponent +2025-03-17 18:07:16,328 - core.component - INFO - ע: clear_cache_data -> ClearCacheDataComponent +2025-03-17 18:07:16,328 - core.component - INFO - ע: get_cache_data -> GetCacheDataComponent +2025-03-17 18:07:16,328 - core.component - INFO - ע: set_task_status -> SetTaskStatusComponent +2025-03-17 18:07:16,328 - core.component - INFO - ע: jump_to_block -> JumpToBlockComponent +2025-03-17 18:07:16,328 - core.component - INFO - ע: get_task_input_param -> GetTaskInputParamComponent +2025-03-17 18:07:16,328 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 18:07:16,328 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 18:07:16,328 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 18:07:16,328 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 18:07:16,328 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 18:07:16,328 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 18:07:16,328 - config.component_config - INFO - Զע: components +2025-03-17 18:07:16,399 - root - INFO - ʼʼݿ... +2025-03-17 18:07:16,450 - root - INFO - ݿɹ +2025-03-17 18:07:16,450 - root - INFO - ʼʼ... +2025-03-17 18:07:16,450 - root - INFO - Ѵڣʼ +2025-03-17 18:07:16,450 - root - INFO - ݳʼɹ +2025-03-17 18:07:16,450 - core.component - INFO - Զ: components +2025-03-17 18:07:16,450 - core.component - INFO - Զע: checktaskinstanceidexists -> CheckTaskInstanceIdExistsComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: createuniqueid -> CreateUniqueIdComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: currenttime -> CurrentTimeComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: currenttimestamp -> CurrentTimestampComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: executesql -> ExecuteSqlComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: print -> PrintComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: querysql -> QuerySqlComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: stringmd5encrypt -> StringMd5EncryptComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: stringtojsonarray -> StringToJsonArrayComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: stringtojsonobject -> StringToJsonObjectComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: waitmodbusvalue -> WaitModbusValueComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: writemodbusvalue -> WriteModbusValueComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: break -> BreakComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: delay -> DelayComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: foreach -> ForEachComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: if -> IfComponent +2025-03-17 18:07:16,450 - core.component - INFO - Զע: ifelse -> IfElseComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: ifelseif -> IfElseIfComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: parallelexecute -> ParallelExecuteComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: return -> ReturnComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: serialexecute -> SerialExecuteComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: throwexception -> ThrowExceptionComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: while -> WhileComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: httpgetrequest -> HttpGetRequestComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: httppostrequest -> HttpPostRequestComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: changerobotdestination -> ChangeRobotDestinationComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: getrobotbattery -> GetRobotBatteryComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: getrobotpgvcode -> GetRobotPGVCodeComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: getrobotposition -> GetRobotPositionComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: robotaction -> RobotActionComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: selectrobot -> SelectRobotComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: runscript -> RunScriptComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: settaskvariables -> SetTaskVariablesComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: batchsetsite -> BatchSetSiteComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: getdensesite -> GetDenseSiteComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: getlockedsitesbytask -> GetLockedSitesByTaskComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: getsiteextensionproperty -> GetSiteExtensionPropertyComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: locksite -> LockSiteComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: querysite -> QuerySiteComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: setsiteempty -> SetSiteEmptyComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: setsiteextensionproperty -> SetSiteExtensionPropertyComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: setsitegoods -> SetSiteGoodsComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: setsiteoccupied -> SetSiteOccupiedComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: setsitetag -> SetSiteTagComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: unlocksite -> UnlockSiteComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: subtask -> SubtaskComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: cachedata -> CacheDataComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: clearcachedata -> ClearCacheDataComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: getcachedata -> GetCacheDataComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: gettaskinputparam -> GetTaskInputParamComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: jumptoblock -> JumpToBlockComponent +2025-03-17 18:07:16,461 - core.component - INFO - Զע: settaskstatus -> SetTaskStatusComponent +2025-03-17 18:07:16,461 - config.component_config - INFO - Զע: components +2025-03-17 18:07:16,472 - root - INFO - Ӧ +2025-03-17 18:30:42,641 - root - INFO - Ӧùر diff --git a/scripts/docker-entrypoint.sh b/scripts/docker-entrypoint.sh new file mode 100644 index 0000000..779ff49 --- /dev/null +++ b/scripts/docker-entrypoint.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -e + +# 等待数据库服务就绪 +echo "等待数据库服务就绪..." +until nc -z ${DB_HOST} ${DB_PORT}; do + echo "数据库服务未就绪 - 等待..." + sleep 2 +done +echo "数据库服务已就绪!" + +# 等待Redis服务就绪 +echo "等待Redis服务就绪..." +until nc -z ${REDIS_HOST} ${REDIS_PORT}; do + echo "Redis服务未就绪 - 等待..." + sleep 2 +done +echo "Redis服务已就绪!" + +# 初始化数据库(如果需要) +echo "初始化数据库..." +python -c "from app import init_database; init_database()" + +# 启动应用 +echo "启动应用..." +exec "$@" \ No newline at end of file diff --git a/scripts/fix_instance_ids.py b/scripts/fix_instance_ids.py new file mode 100644 index 0000000..1b7ec75 --- /dev/null +++ b/scripts/fix_instance_ids.py @@ -0,0 +1,83 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +任务实例ID修复脚本 +为所有现有的任务实例记录生成并设置instance_id + +用法: + python scripts/fix_instance_ids.py +""" + +import os +import sys +import logging +import uuid +from sqlalchemy import text + +# 添加项目根目录到系统路径 +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) + +# 导入项目模块 +from data.session import get_db +from data.models.task_instance import TaskInstance + +# 设置日志 +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", + handlers=[ + logging.StreamHandler(sys.stdout), # 输出到控制台 + logging.FileHandler("fix_instance_ids.log") # 输出到文件 + ] +) +logger = logging.getLogger("fix_instance_ids") + +def fix_instance_ids(): + """为所有现有的任务实例记录生成并设置instance_id""" + try: + # 获取数据库会话 + db = next(get_db()) + + # 查询所有没有instance_id的任务实例记录 + instances = db.query(TaskInstance).filter( + (TaskInstance.instance_id == None) | + (TaskInstance.instance_id == '') + ).all() + + logger.info(f"发现 {len(instances)} 条没有instance_id的任务实例记录") + + # 为每条记录生成并设置instance_id + for instance in instances: + instance_id = str(uuid.uuid4()) + instance.instance_id = instance_id + logger.info(f"为任务实例 ID={instance.id} 设置instance_id={instance_id}") + + # 提交更改 + db.commit() + logger.info("所有任务实例记录的instance_id已更新") + + return True + except Exception as e: + logger.error(f"修复任务实例ID失败: {str(e)}") + if 'db' in locals(): + db.rollback() + return False + +def main(): + """主函数""" + logger.info("开始修复任务实例ID...") + + # 修复任务实例ID + success = fix_instance_ids() + + if success: + logger.info("任务实例ID修复成功!") + else: + logger.error("任务实例ID修复失败!") + + # 根据修复结果设置退出码 + sys.exit(0 if success else 1) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/scripts/init-db.sql b/scripts/init-db.sql new file mode 100644 index 0000000..385bbb0 --- /dev/null +++ b/scripts/init-db.sql @@ -0,0 +1,13 @@ +-- 创建数据库(如果不存在) +CREATE DATABASE IF NOT EXISTS tianfeng_task CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- 使用数据库 +USE tianfeng_task; + +-- 创建用户并授权(如果不存在) +CREATE USER IF NOT EXISTS 'tianfeng'@'%' IDENTIFIED BY 'tianfeng'; +GRANT ALL PRIVILEGES ON tianfeng_task.* TO 'tianfeng'@'%'; +FLUSH PRIVILEGES; + +-- 初始化基础数据可以在这里添加 +-- 注意:大部分表结构会由SQLAlchemy自动创建,这里主要是为了初始化一些基础数据 \ No newline at end of file diff --git a/scripts/logs/migration_upgrade_20250317.log b/scripts/logs/migration_upgrade_20250317.log new file mode 100644 index 0000000..6481212 --- /dev/null +++ b/scripts/logs/migration_upgrade_20250317.log @@ -0,0 +1,36 @@ +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +执行时间: 2025-03-17 16:48:29 +执行命令: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +执行时间: 2025-03-17 16:50:12 +执行命令: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +执行时间: 2025-03-17 16:51:14 +执行命令: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +执行时间: 2025-03-17 16:51:54 +执行命令: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + diff --git a/scripts/logs/tianfeng_task.log b/scripts/logs/tianfeng_task.log new file mode 100644 index 0000000..2da2c48 --- /dev/null +++ b/scripts/logs/tianfeng_task.log @@ -0,0 +1,186 @@ +2025-03-17 16:48:29,929 - migration - INFO - Ǩƣ: {'revision': None, 'downgrade': False, 'verbose': False, 'message': None, 'branch': None, 'history': False, 'current': False, 'show': False, 'table': None, 'list_tables': False} +2025-03-17 16:48:29,929 - migration - INFO - ʹѴڵʱļ: D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp +2025-03-17 16:48:29,930 - migration - INFO - : {'revision': None, 'downgrade': False, 'verbose': False, 'message': None, 'branch': None, 'history': False, 'current': False, 'show': False, 'table': None, 'list_tables': False} +2025-03-17 16:48:29,930 - migration - INFO - ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +2025-03-17 16:48:29,930 - migration - INFO - Ŀ¼: D:\jsw_code\project\tianfeng_task +2025-03-17 16:48:29,930 - migration - INFO - Python : utf-8 +2025-03-17 16:48:29,930 - migration - INFO - ļϵͳ: utf-8 +2025-03-17 16:48:29,930 - migration - INFO - ϵͳĬϱ: cp936 +2025-03-17 16:48:29,930 - migration - INFO - ִǨƣ־д logs\migration_upgrade_20250317.log... +2025-03-17 16:48:30,704 - migration - INFO - ִ״̬: ɹ +2025-03-17 16:48:30,704 - migration - INFO - (󲿷): +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +ִʱ: 2025-03-17 16:48:29 +ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + + +2025-03-17 16:50:12,449 - migration - INFO - Ǩƣ: {'revision': None, 'downgrade': False, 'verbose': False, 'message': None, 'branch': None, 'history': False, 'current': False, 'show': False, 'table': None, 'list_tables': False} +2025-03-17 16:50:12,450 - migration - INFO - ʹѴڵʱļ: D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp +2025-03-17 16:50:12,450 - migration - INFO - : {'revision': None, 'downgrade': False, 'verbose': False, 'message': None, 'branch': None, 'history': False, 'current': False, 'show': False, 'table': None, 'list_tables': False} +2025-03-17 16:50:12,450 - migration - INFO - ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +2025-03-17 16:50:12,450 - migration - INFO - Ŀ¼: D:\jsw_code\project\tianfeng_task +2025-03-17 16:50:12,450 - migration - INFO - Python : utf-8 +2025-03-17 16:50:12,450 - migration - INFO - ļϵͳ: utf-8 +2025-03-17 16:50:12,450 - migration - INFO - ϵͳĬϱ: cp936 +2025-03-17 16:50:12,450 - migration - INFO - ִǨƣ־д logs\migration_upgrade_20250317.log... +2025-03-17 16:50:13,150 - migration - INFO - ִ״̬: ɹ +2025-03-17 16:50:13,150 - migration - INFO - (󲿷): +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +ִʱ: 2025-03-17 16:48:29 +ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +ִʱ: 2025-03-17 16:50:12 +ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + + +2025-03-17 16:51:14,892 - migration - INFO - Ǩƣ: {'revision': None, 'downgrade': False, 'verbose': False, 'message': None, 'branch': None, 'history': False, 'current': False, 'show': False, 'table': None, 'list_tables': False} +2025-03-17 16:51:14,892 - migration - INFO - ʹѴڵʱļ: D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp +2025-03-17 16:51:14,892 - migration - INFO - : {'revision': None, 'downgrade': False, 'verbose': False, 'message': None, 'branch': None, 'history': False, 'current': False, 'show': False, 'table': None, 'list_tables': False} +2025-03-17 16:51:14,892 - migration - INFO - ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +2025-03-17 16:51:14,908 - migration - INFO - Ŀ¼: D:\jsw_code\project\tianfeng_task +2025-03-17 16:51:14,908 - migration - INFO - Python : utf-8 +2025-03-17 16:51:14,908 - migration - INFO - ļϵͳ: utf-8 +2025-03-17 16:51:14,908 - migration - INFO - ϵͳĬϱ: cp936 +2025-03-17 16:51:14,908 - migration - INFO - ִǨƣ־д logs\migration_upgrade_20250317.log... +2025-03-17 16:51:15,435 - migration - INFO - ִ״̬: ɹ +2025-03-17 16:51:15,435 - migration - INFO - (󲿷): +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +ִʱ: 2025-03-17 16:48:29 +ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +ִʱ: 2025-03-17 16:50:12 +ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +ִʱ: 2025-03-17 16:51:14 +ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + + +2025-03-17 16:51:54,260 - migration - INFO - Ǩƣ: {'revision': None, 'downgrade': False, 'verbose': False, 'message': None, 'branch': None, 'history': False, 'current': False, 'show': False, 'table': None, 'list_tables': False} +2025-03-17 16:51:54,260 - migration - INFO - ʹѴڵʱļ: D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp +2025-03-17 16:51:54,260 - migration - INFO - : {'revision': None, 'downgrade': False, 'verbose': False, 'message': None, 'branch': None, 'history': False, 'current': False, 'show': False, 'table': None, 'list_tables': False} +2025-03-17 16:51:54,260 - migration - INFO - ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +2025-03-17 16:51:54,260 - migration - INFO - Ŀ¼: D:\jsw_code\project\tianfeng_task +2025-03-17 16:51:54,260 - migration - INFO - Python : utf-8 +2025-03-17 16:51:54,260 - migration - INFO - ļϵͳ: utf-8 +2025-03-17 16:51:54,260 - migration - INFO - ϵͳĬϱ: cp936 +2025-03-17 16:51:54,260 - migration - INFO - ִǨƣ־д logs\migration_upgrade_20250317.log... +2025-03-17 16:51:54,809 - migration - INFO - ִ״̬: ɹ +2025-03-17 16:51:54,809 - migration - INFO - (󲿷): +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +ִʱ: 2025-03-17 16:48:29 +ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +ִʱ: 2025-03-17 16:50:12 +ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +ִʱ: 2025-03-17 16:51:14 +ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + +INFO [alembic.runtime.migration] Context impl MySQLImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. + + +================================================================================ +ִʱ: 2025-03-17 16:51:54 +ִ: alembic -c D:\jsw_code\project\tianfeng_task\migrations\alembic.ini.tmp upgrade head +================================================================================ + + +2025-03-17 17:11:12,595 - migration - INFO - ʼִݿԶǨ... +2025-03-17 17:11:12,595 - utils.db_migration - INFO - ʼݿǨ +2025-03-17 17:11:12,657 - utils.db_migration - INFO - 23 ģ +2025-03-17 17:11:12,669 - utils.db_migration - INFO - subtasks ڣ׼ +2025-03-17 17:11:12,733 - utils.db_migration - INFO - subtasks ɹ +2025-03-17 17:11:12,734 - utils.db_migration - INFO - subtask_versions ڣ׼ +2025-03-17 17:11:12,785 - utils.db_migration - INFO - subtask_versions ɹ +2025-03-17 17:11:12,792 - utils.db_migration - INFO - task_flow_connections ڣ׼ +2025-03-17 17:11:12,794 - utils.db_migration - ERROR - task_flow_connections ʧ: (pymysql.err.OperationalError) (1824, "Failed to open the referenced table 'task_flow_nodes'") +[SQL: +CREATE TABLE task_flow_connections ( + task_id INTEGER NOT NULL COMMENT 'ID', + version_id INTEGER NOT NULL COMMENT '汾ID', + source_node_id INTEGER NOT NULL COMMENT 'ԴڵID', + target_node_id INTEGER NOT NULL COMMENT 'ĿڵID', + label VARCHAR(100) COMMENT 'ӱǩ', + `condition` VARCHAR(500) COMMENT '', + config JSON COMMENT '', + is_default BOOL COMMENT 'ǷΪĬ', + id INTEGER NOT NULL COMMENT 'ID' AUTO_INCREMENT, + created_at DATETIME COMMENT 'ʱ', + updated_at DATETIME COMMENT 'ʱ', + is_deleted BOOL COMMENT 'Ƿɾɾǣ', + PRIMARY KEY (id), + FOREIGN KEY(task_id) REFERENCES tasks (id), + FOREIGN KEY(version_id) REFERENCES task_versions (id), + FOREIGN KEY(source_node_id) REFERENCES task_flow_nodes (id), + FOREIGN KEY(target_node_id) REFERENCES task_flow_nodes (id) +) + +] +(Background on this error at: https://sqlalche.me/e/20/e3q8) +2025-03-17 17:11:12,794 - utils.db_migration - INFO - task_flow_nodes ڣ׼ +2025-03-17 17:11:12,864 - utils.db_migration - INFO - task_flow_nodes ɹ +2025-03-17 17:11:12,867 - utils.db_migration - INFO - task_import_exports ڣ׼ +2025-03-17 17:11:12,915 - utils.db_migration - INFO - task_import_exports ɹ +2025-03-17 17:11:12,916 - utils.db_migration - INFO - task_inputs ڣ׼ +2025-03-17 17:11:12,968 - utils.db_migration - INFO - task_inputs ɹ +2025-03-17 17:11:12,969 - utils.db_migration - INFO - task_input_values ڣ׼ +2025-03-17 17:11:13,027 - utils.db_migration - INFO - task_input_values ɹ +2025-03-17 17:11:13,028 - utils.db_migration - INFO - task_instances.instance_id׼ +2025-03-17 17:11:13,029 - utils.db_migration - INFO - ִSQL: ALTER TABLE task_instances ADD COLUMN instance_id VARCHAR(36) NOT NULL +2025-03-17 17:11:13,061 - utils.db_migration - INFO - task_instances.instance_id ɹ +2025-03-17 17:11:13,074 - utils.db_migration - INFO - user_operations ڣ׼ +2025-03-17 17:11:13,111 - utils.db_migration - INFO - user_operations ɹ +2025-03-17 17:11:13,111 - utils.db_migration - INFO - ݿǨ +2025-03-17 17:11:13,111 - utils.db_migration - INFO - ݿǨƳɹ +2025-03-17 17:11:13,111 - migration - INFO - ݿǨƳɹɣ diff --git a/scripts/run_migration.py b/scripts/run_migration.py index d84349b..d8dfc37 100644 --- a/scripts/run_migration.py +++ b/scripts/run_migration.py @@ -2,340 +2,63 @@ # -*- coding: utf-8 -*- """ -数据库迁移执行脚本 +数据库迁移脚本 +用于自动检测模型变更并应用到数据库 用法: - python scripts/run_migration.py [--revision 版本号] + python scripts/run_migration.py [--verbose] 示例: - # 升级到最新版本 + # 执行自动迁移 python scripts/run_migration.py - # 升级到指定版本 - python scripts/run_migration.py --revision 001 - - # 降级到指定版本 - python scripts/run_migration.py --revision 001 --downgrade - - # 生成新的迁移脚本 - python scripts/run_migration.py --generate "添加新字段" - - # 为特定表生成迁移脚本 - python scripts/run_migration.py --generate "为用户表添加邮箱字段" --table users - - # 为多个表生成迁移脚本 - python scripts/run_migration.py --generate "添加审计字段" --table users,orders,products + # 显示详细日志 + python scripts/run_migration.py --verbose """ import argparse import os import sys +import logging from pathlib import Path -import subprocess -import shutil -import tempfile -import locale -import datetime -# 将项目根目录添加到 Python 路径 -root_dir = Path(__file__).parent.parent -sys.path.insert(0, str(root_dir)) +# 添加项目根目录到系统路径 +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) # 导入项目日志模块 -from utils.logger import get_logger, setup_logger +from utils.logger import setup_logger +from utils.db_migration import run_migration, DBMigration # 设置日志 setup_logger() -logger = get_logger('migration') - -def create_ascii_config(original_config_path): - """ - 创建一个 ASCII 编码的配置文件副本 - - Args: - original_config_path (Path): 原始配置文件路径 - - Returns: - Path: 临时配置文件路径 - """ - # 如果临时文件已存在,直接使用 - temp_config_path = original_config_path.with_suffix('.ini.tmp') - if temp_config_path.exists(): - logger.info(f"使用已存在的临时配置文件: {temp_config_path}") - return temp_config_path - - # 创建临时文件 - logger.info(f"创建 ASCII 编码的临时配置文件: {temp_config_path}") - - # 复制配置文件内容,去除中文注释 - with open(temp_config_path, 'w', encoding='ascii', errors='ignore') as temp_file: - temp_file.write(""" -# Alembic Configuration File -# This file contains basic configuration for Alembic - -[alembic] -# Path to migration scripts -script_location = migrations - -# Template uses jinja2 format -output_encoding = utf-8 - -# Database connection configuration -# In practice, this value will be overridden by the configuration in env.py -sqlalchemy.url = driver://user:pass@localhost/dbname - -# Logging configuration -[loggers] -keys = root,sqlalchemy,alembic - -[handlers] -keys = console - -[formatters] -keys = generic - -[logger_root] -level = WARN -handlers = console -qualname = - -[logger_sqlalchemy] -level = WARN -handlers = -qualname = sqlalchemy.engine - -[logger_alembic] -level = INFO -handlers = -qualname = alembic - -[handler_console] -class = StreamHandler -args = (sys.stderr,) -level = NOTSET -formatter = generic - -[formatter_generic] -format = %(levelname)-5.5s [%(name)s] %(message)s -datefmt = %H:%M:%S -""") - - return temp_config_path - -def run_migration_command(command, args): - """ - 执行迁移命令 - - Args: - command (str): 命令名称,如 'upgrade', 'downgrade', 'revision' - args (argparse.Namespace): 命令行参数 - - Returns: - bool: 是否成功执行命令 - """ - # 获取项目根目录 - root_dir = Path(__file__).parent.parent - - # 原始配置文件路径 - original_config_path = root_dir / "migrations" / "alembic.ini" - - # 创建 ASCII 编码的临时配置文件 - temp_config_path = create_ascii_config(original_config_path) - - # 构建命令 - cmd = ["alembic", "-c", str(temp_config_path)] - - if args.verbose: - cmd.append("--verbose") - - # 打印所有参数,帮助调试 - logger.info(f"命令参数: {vars(args)}") - - if command == 'upgrade': - cmd.extend(["upgrade", args.revision or "head"]) - elif command == 'downgrade': - cmd.extend(["downgrade", args.revision or "base"]) - elif command == 'revision': - logger.info(f"生成迁移脚本,描述: {args.message}") - cmd.extend(["revision", "--autogenerate", "-m", args.message]) - - # 如果指定了表名,创建一个临时的 env.py 文件,只包含指定的表 - if args.table: - # 将表名列表转换为 Python 列表字符串 - tables = [f"'{table.strip()}'" for table in args.table.split(',')] - tables_str = f"[{', '.join(tables)}]" - - # 创建临时环境变量,传递表名列表 - os.environ["ALEMBIC_TABLES"] = args.table - logger.info(f"指定迁移表: {args.table}") - - if args.branch: - cmd.extend(["--branch", args.branch]) - elif command == 'history': - cmd.append("history") - if args.verbose: - cmd.append("-v") - elif command == 'current': - cmd.append("current") - elif command == 'show': - cmd.extend(["show", args.revision or "head"]) - elif command == 'list_tables': - # 这不是 alembic 命令,而是我们自定义的命令 - return list_database_tables() - else: - logger.error(f"未知命令: {command}") - return False - - # 执行命令 - logger.info(f"执行命令: {' '.join(cmd)}") - logger.info(f"工作目录: {root_dir}") - logger.info(f"Python 编码: {sys.getdefaultencoding()}") - logger.info(f"文件系统编码: {sys.getfilesystemencoding()}") - logger.info(f"系统默认编码: {locale.getpreferredencoding()}") - - # 设置环境变量,确保使用 UTF-8 编码 - env = os.environ.copy() - env["PYTHONIOENCODING"] = "utf-8" - - # 创建命令输出日志文件 - 使用项目日志目录 - from config.settings import LogConfig - log_config = LogConfig.as_dict() - log_dir = Path(os.path.dirname(log_config["file"])) - log_dir.mkdir(exist_ok=True) - - # 使用日期和命令类型命名日志文件 - today = datetime.datetime.now().strftime('%Y%m%d') - log_file = log_dir / f"migration_{command}_{today}.log" - - try: - # 使用直接执行命令的方式,避免 subprocess 的编码问题 - logger.info(f"正在执行迁移,日志将写入 {log_file}...") - - # 使用 subprocess.Popen 而不是 subprocess.run - with open(log_file, "a", encoding="utf-8") as f_out: - # 添加分隔线和时间戳 - f_out.write(f"\n\n{'='*80}\n") - f_out.write(f"执行时间: {datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\n") - f_out.write(f"执行命令: {' '.join(cmd)}\n") - f_out.write(f"{'='*80}\n\n") - - process = subprocess.Popen( - cmd, - cwd=str(root_dir), - env=env, - stdout=f_out, - stderr=subprocess.STDOUT, - text=True, - encoding="utf-8", - errors="replace" # 使用 replace 策略处理无法解码的字符 - ) - process.wait() - - # 读取日志文件 - with open(log_file, "r", encoding="utf-8") as f: - # 只读取最后 50 行,避免日志过长 - lines = f.readlines() - output = ''.join(lines[-50:]) if len(lines) > 50 else ''.join(lines) - - logger.info(f"命令执行状态: {'成功' if process.returncode == 0 else '失败'}") - logger.info(f"输出(最后部分):\n{output}") - - # 清理环境变量 - if 'ALEMBIC_TABLES' in os.environ: - del os.environ['ALEMBIC_TABLES'] - - return process.returncode == 0 - except Exception as e: - logger.error(f"执行命令时发生错误: {e}", exc_info=True) - - # 清理环境变量 - if 'ALEMBIC_TABLES' in os.environ: - del os.environ['ALEMBIC_TABLES'] - - return False - -def list_database_tables(): - """ - 列出数据库中的所有表 - - Returns: - bool: 是否成功执行命令 - """ - try: - # 导入数据库配置 - from config.database import DBConfig - - # 获取数据库连接 - engine = DBConfig.engine - - # 获取所有表名 - from sqlalchemy import inspect - inspector = inspect(engine) - tables = inspector.get_table_names() - - logger.info("数据库中的表:") - for i, table in enumerate(tables, 1): - logger.info(f"{i}. {table}") - - return True - except Exception as e: - logger.error(f"获取数据库表时发生错误: {e}", exc_info=True) - return False - -def run_migration(args): - """ - 执行数据库迁移 - - Args: - args (argparse.Namespace): 命令行参数 - - Returns: - bool: 是否成功执行迁移 - """ - # 打印所有参数,帮助调试 - logger.info(f"运行迁移,参数: {vars(args)}") - - if args.list_tables: - # 列出数据库中的所有表 - return run_migration_command('list_tables', args) - elif args.message: - # 生成新的迁移脚本 - logger.info(f"生成新的迁移脚本,描述: {args.message}") - return run_migration_command('revision', args) - elif args.history: - # 显示迁移历史 - return run_migration_command('history', args) - elif args.current: - # 显示当前版本 - return run_migration_command('current', args) - elif args.show: - # 显示指定版本的详细信息 - return run_migration_command('show', args) - elif args.downgrade: - # 降级到指定版本 - return run_migration_command('downgrade', args) - else: - # 升级到指定版本 - return run_migration_command('upgrade', args) +logger = logging.getLogger('migration') def main(): - parser = argparse.ArgumentParser(description="执行数据库迁移") - parser.add_argument("--revision", help="版本号,为空表示升级到最新版本") - parser.add_argument("--downgrade", action="store_true", help="是否降级") + """主函数""" + parser = argparse.ArgumentParser(description="执行数据库自动迁移") parser.add_argument("--verbose", "-v", action="store_true", help="显示详细日志") - parser.add_argument("--generate", "--gen", "-m", dest="message", help="生成新的迁移脚本,需要提供描述信息") - parser.add_argument("--branch", "-b", help="分支名称,用于生成迁移脚本") - parser.add_argument("--history", action="store_true", help="显示迁移历史") - parser.add_argument("--current", action="store_true", help="显示当前版本") - parser.add_argument("--show", action="store_true", help="显示指定版本的详细信息") - parser.add_argument("--table", "-t", help="指定要迁移的表名,多个表用逗号分隔") - parser.add_argument("--list-tables", action="store_true", help="列出数据库中的所有表") args = parser.parse_args() - success = run_migration(args) + # 设置日志级别 + log_level = logging.DEBUG if args.verbose else logging.INFO + logging.basicConfig( + level=log_level, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" + ) + + logger.info("开始执行数据库自动迁移...") + + # 运行迁移 + success = run_migration() + + if success: + logger.info("数据库迁移成功完成!") + else: + logger.error("数据库迁移失败!") + + # 根据迁移结果设置退出码 sys.exit(0 if success else 1) - if __name__ == "__main__": main() \ No newline at end of file diff --git a/services/__pycache__/common_params_service.cpython-312.pyc b/services/__pycache__/common_params_service.cpython-312.pyc new file mode 100644 index 0000000..3558626 Binary files /dev/null and b/services/__pycache__/common_params_service.cpython-312.pyc differ diff --git a/services/__pycache__/task_instance_service.cpython-312.pyc b/services/__pycache__/task_instance_service.cpython-312.pyc new file mode 100644 index 0000000..83202ff Binary files /dev/null and b/services/__pycache__/task_instance_service.cpython-312.pyc differ diff --git a/services/common_params_service.py b/services/common_params_service.py new file mode 100644 index 0000000..510b107 --- /dev/null +++ b/services/common_params_service.py @@ -0,0 +1,92 @@ +""" +常用参数服务模块 +提供获取各种常用参数数据的服务 +""" +from typing import Dict, Any, List, Optional +import json +import random +from datetime import datetime +from config.component_config import CommonParamType + +class CommonParamsService: + """常用参数服务类""" + + def __init__(self): + """初始化服务""" + # 模拟数据,实际项目中应该从数据库或外部API获取 + self.mock_data = { + CommonParamType.ROBOT_ID: [ + {"id": "robot-001", "name": "机器人1号"}, + {"id": "robot-002", "name": "机器人2号"}, + {"id": "robot-003", "name": "机器人3号"} + ], + CommonParamType.ROBOT_GROUP: [ + {"id": "group-001", "name": "机器人组A"}, + {"id": "group-002", "name": "机器人组B"}, + {"id": "group-003", "name": "机器人组C"} + ], + CommonParamType.ROBOT_TAG: [ + {"id": "tag-001", "name": "标签1"}, + {"id": "tag-002", "name": "标签2"}, + {"id": "tag-003", "name": "标签3"} + ], + CommonParamType.STORAGE_AREA_ID: [ + {"id": "area-001", "name": "库区1"}, + {"id": "area-002", "name": "库区2"}, + {"id": "area-003", "name": "库区3"} + ], + CommonParamType.STORAGE_AREA: [ + {"id": "area-001", "name": "库区1", "code": "A001"}, + {"id": "area-002", "name": "库区2", "code": "A002"}, + {"id": "area-003", "name": "库区3", "code": "A003"} + ], + CommonParamType.SITE: [ + {"id": "site-001", "name": "站点1", "code": "S001"}, + {"id": "site-002", "name": "站点2", "code": "S002"}, + {"id": "site-003", "name": "站点3", "code": "S003"} + ], + CommonParamType.BIN_TASK: [ + {"id": "bin-001", "name": "Bin任务1"}, + {"id": "bin-002", "name": "Bin任务2"}, + {"id": "bin-003", "name": "Bin任务3"} + ], + CommonParamType.WORKSTATION: [ + {"id": "ws-001", "name": "工位1"}, + {"id": "ws-002", "name": "工位2"}, + {"id": "ws-003", "name": "工位3"} + ], + CommonParamType.POST: [ + {"id": "post-001", "name": "岗位1"}, + {"id": "post-002", "name": "岗位2"}, + {"id": "post-003", "name": "岗位3"} + ], + CommonParamType.USER: [ + {"id": "user-001", "name": "用户1"}, + {"id": "user-002", "name": "用户2"}, + {"id": "user-003", "name": "用户3"} + ], + CommonParamType.CACHE: [ + {"key": "cache-001", "value": "缓存值1"}, + {"key": "cache-002", "value": "缓存值2"}, + {"key": "cache-003", "value": "缓存值3"} + ], + CommonParamType.BUILT_IN_FUNCTION: [ + {"name": "getCurrentTime", "description": "获取当前时间"}, + {"name": "generateUUID", "description": "生成UUID"}, + {"name": "formatDate", "description": "格式化日期"} + ] + } + + def get_param_data(self, param_type: str) -> List[Dict[str, Any]]: + """ + 获取指定类型的常用参数数据 + + Args: + param_type: 参数类型 + + Returns: + 参数数据列表 + """ + # 实际项目中,应该根据param_type调用相应的API或查询数据库 + # 这里使用模拟数据 + return self.mock_data.get(param_type, []) \ No newline at end of file diff --git a/services/task_instance_service.py b/services/task_instance_service.py new file mode 100644 index 0000000..926445d --- /dev/null +++ b/services/task_instance_service.py @@ -0,0 +1,281 @@ +""" +任务实例服务模块 +提供任务实例的增删改查服务 +""" +from typing import Dict, Any, List, Optional, Tuple +from sqlalchemy.orm import Session +from data.session import get_db +from data.models.task_instance import TaskInstance, TaskInstanceStatus +from data.models.task import Task +from datetime import datetime + +class TaskInstanceService: + """任务实例服务类""" + + def __init__(self): + """初始化服务""" + self.db = next(get_db()) + + def create_instance(self, task_id: str, name: Optional[str] = None, variables: Optional[Dict[str, Any]] = None, + priority: int = 1, input_params: Optional[Dict[str, Any]] = None, + block_outputs: Optional[Dict[str, Any]] = None, context_params: Optional[Dict[str, Any]] = None, + status: TaskInstanceStatus = TaskInstanceStatus.EDITING) -> Dict[str, Any]: + """ + 创建任务实例 + + Args: + task_id: 任务ID + name: 任务名称(如果为空,则从任务表中获取) + variables: 任务变量 + priority: 任务优先级 + input_params: 任务输入参数 + block_outputs: 块输出参数 + context_params: 上下文参数 + status: 任务实例状态 + + Returns: + 任务实例字典 + """ + # 检查任务是否存在 + task = self.db.query(Task).filter(Task.task_id == task_id, Task.is_deleted == False).first() + if not task: + raise ValueError(f"任务不存在: {task_id}") + + # 如果名称为空,则使用任务表中的名称 + if not name: + name = task.name + + # 创建任务实例 + instance = TaskInstance( + task_id=task_id, + name=name, + variables=variables or {}, + priority=priority, + input_params=input_params or {}, + block_outputs=block_outputs or {}, + context_params=context_params or {}, + status=status + ) + + # 保存到数据库 + self.db.add(instance) + self.db.commit() + self.db.refresh(instance) + + return instance.to_dict() + + def get_instance_by_id(self, instance_id: str) -> Optional[Dict[str, Any]]: + """ + 根据实例ID获取任务实例 + + Args: + instance_id: 任务实例ID + + Returns: + 任务实例字典,如果不存在则返回None + """ + instance = self.db.query(TaskInstance).filter(TaskInstance.instance_id == instance_id, TaskInstance.is_deleted == False).first() + if not instance: + return None + + return instance.to_dict() + + def get_instances_by_task_id(self, task_id: str) -> List[Dict[str, Any]]: + """ + 根据任务ID获取所有任务实例 + + Args: + task_id: 任务ID + + Returns: + 任务实例字典列表 + """ + instances = self.db.query(TaskInstance).filter(TaskInstance.task_id == task_id, TaskInstance.is_deleted == False).all() + return [instance.to_dict() for instance in instances] + + def get_latest_instance_by_task_id(self, task_id: str) -> Optional[Dict[str, Any]]: + """ + 根据任务ID获取最新的任务实例 + + Args: + task_id: 任务ID + + Returns: + 最新的任务实例字典,如果不存在则返回None + """ + instance = self.db.query(TaskInstance).filter( + TaskInstance.task_id == task_id, + TaskInstance.is_deleted == False + ).order_by(TaskInstance.created_at.desc()).first() + + if not instance: + return None + + return instance.to_dict() + + def get_editing_instance_by_task_id(self, task_id: str) -> Optional[Dict[str, Any]]: + """ + 根据任务ID获取编辑中的任务实例 + + Args: + task_id: 任务ID + + Returns: + 编辑中的任务实例字典,如果不存在则返回None + """ + instance = self.db.query(TaskInstance).filter( + TaskInstance.task_id == task_id, + TaskInstance.status == TaskInstanceStatus.EDITING, + TaskInstance.is_deleted == False + ).order_by(TaskInstance.created_at.desc()).first() + + if not instance: + return None + + return instance.to_dict() + + def get_latest_published_instance_by_task_id(self, task_id: str) -> Optional[Dict[str, Any]]: + """ + 根据任务ID获取最新的已发布任务实例 + + Args: + task_id: 任务ID + + Returns: + 最新的已发布任务实例字典,如果不存在则返回None + """ + instance = self.db.query(TaskInstance).filter( + TaskInstance.task_id == task_id, + TaskInstance.status == TaskInstanceStatus.PUBLISHED, + TaskInstance.is_deleted == False + ).order_by(TaskInstance.created_at.desc()).first() + + if not instance: + return None + + return instance.to_dict() + + def update_instance(self, instance_id: str, variables: Optional[Dict[str, Any]] = None, + priority: Optional[int] = None, input_params: Optional[Dict[str, Any]] = None, + block_outputs: Optional[Dict[str, Any]] = None, context_params: Optional[Dict[str, Any]] = None, + status: Optional[TaskInstanceStatus] = None) -> Optional[Dict[str, Any]]: + """ + 更新任务实例 + + Args: + instance_id: 任务实例ID + variables: 任务变量 + priority: 任务优先级 + input_params: 任务输入参数 + block_outputs: 块输出参数 + context_params: 上下文参数 + status: 任务实例状态 + + Returns: + 更新后的任务实例字典,如果不存在则返回None + """ + # 获取任务实例 + instance = self.db.query(TaskInstance).filter(TaskInstance.instance_id == instance_id, TaskInstance.is_deleted == False).first() + if not instance: + return None + + # 更新字段 + if variables is not None: + instance.variables = variables + if priority is not None: + instance.priority = priority + if input_params is not None: + instance.input_params = input_params + if block_outputs is not None: + instance.block_outputs = block_outputs + if context_params is not None: + instance.context_params = context_params + if status is not None: + instance.status = status + + # 保存到数据库 + self.db.commit() + self.db.refresh(instance) + + return instance.to_dict() + + def publish_instance(self, instance_id: str) -> Optional[Dict[str, Any]]: + """ + 发布任务实例 + + Args: + instance_id: 任务实例ID + + Returns: + 发布后的任务实例字典,如果不存在则返回None + """ + return self.update_instance(instance_id, status=TaskInstanceStatus.PUBLISHED) + + def delete_instance(self, instance_id: str) -> bool: + """ + 删除任务实例 + + Args: + instance_id: 任务实例ID + + Returns: + 是否删除成功 + """ + # 获取任务实例 + instance = self.db.query(TaskInstance).filter(TaskInstance.instance_id == instance_id, TaskInstance.is_deleted == False).first() + if not instance: + return False + + # 标记为已删除 + instance.is_deleted = True + self.db.commit() + + return True + + def get_or_create_editing_instance(self, task_id: str) -> Dict[str, Any]: + """ + 获取或创建编辑中的任务实例 + + 如果任务已有编辑中的实例,则返回该实例 + 如果任务没有编辑中的实例,但有已发布的实例,则基于最新的已发布实例创建新的编辑中实例 + 如果任务没有任何实例,则创建新的编辑中实例 + + Args: + task_id: 任务ID + + Returns: + 编辑中的任务实例字典 + """ + # 检查是否有编辑中的实例 + editing_instance = self.get_editing_instance_by_task_id(task_id) + if editing_instance: + return editing_instance + + # 检查是否有已发布的实例 + published_instance = self.get_latest_published_instance_by_task_id(task_id) + if published_instance: + # 基于已发布实例创建新的编辑中实例 + return self.create_instance( + task_id=task_id, + name=published_instance.get("name"), + variables=published_instance.get("variables"), + priority=published_instance.get("priority", 1), + input_params=published_instance.get("input_params"), + block_outputs=published_instance.get("block_outputs"), + context_params=published_instance.get("context_params"), + status=TaskInstanceStatus.EDITING + ) + + # 获取任务信息 + task = self.db.query(Task).filter(Task.task_id == task_id, Task.is_deleted == False).first() + if not task: + raise ValueError(f"任务不存在: {task_id}") + + # 创建新的编辑中实例 + return self.create_instance( + task_id=task_id, + name=task.name, + variables=task.variables if hasattr(task, "variables") else {}, + priority=1, + status=TaskInstanceStatus.EDITING + ) \ No newline at end of file diff --git a/utils/__pycache__/db_migration.cpython-312.pyc b/utils/__pycache__/db_migration.cpython-312.pyc new file mode 100644 index 0000000..8afd001 Binary files /dev/null and b/utils/__pycache__/db_migration.cpython-312.pyc differ diff --git a/utils/db_migration.py b/utils/db_migration.py new file mode 100644 index 0000000..f4d4fb2 --- /dev/null +++ b/utils/db_migration.py @@ -0,0 +1,218 @@ +""" +数据库迁移工具 +用于自动检测模型变更并应用到数据库 +""" +import logging +import sqlalchemy as sa +from sqlalchemy import inspect, text, Enum +from sqlalchemy.exc import OperationalError, ProgrammingError +from data.session import get_db +from config.database import DBConfig +import importlib +import pkgutil +import data.models +import enum +import json + +# 设置日志 +logger = logging.getLogger(__name__) + +class DBMigration: + """数据库迁移工具类""" + + def __init__(self): + """初始化迁移工具""" + self.db = next(get_db()) + self.engine = self.db.bind + self.inspector = inspect(self.engine) + self.metadata = sa.MetaData() + self.metadata.reflect(bind=self.engine) + + def get_all_models(self): + """获取所有模型类""" + models = [] + # 导入所有模型模块 + for _, name, _ in pkgutil.iter_modules(data.models.__path__): + try: + module = importlib.import_module(f"data.models.{name}") + # 获取模块中的所有类 + for attr_name in dir(module): + attr = getattr(module, attr_name) + # 检查是否为模型类 + if isinstance(attr, type) and hasattr(attr, "__tablename__") and attr.__name__ != "BaseModel": + models.append(attr) + except ImportError as e: + logger.error(f"导入模块 data.models.{name} 失败: {str(e)}") + + return models + + def get_table_columns(self, table_name): + """获取表的所有列信息""" + columns = {} + try: + for column in self.inspector.get_columns(table_name): + columns[column["name"]] = column + except Exception as e: + logger.error(f"获取表 {table_name} 的列信息失败: {str(e)}") + + return columns + + def get_model_columns(self, model): + """获取模型的所有列信息""" + columns = {} + for name, column in model.__table__.columns.items(): + columns[name] = column + + return columns + + def check_table_exists(self, table_name): + """检查表是否存在""" + return self.inspector.has_table(table_name) + + def create_table(self, model): + """创建表""" + try: + model.__table__.create(self.engine) + logger.info(f"创建表 {model.__tablename__} 成功") + return True + except Exception as e: + logger.error(f"创建表 {model.__tablename__} 失败: {str(e)}") + return False + + def get_column_type_sql(self, column): + """获取列类型的SQL表示""" + try: + # 处理枚举类型 + if isinstance(column.type, Enum): + # MySQL中枚举类型的处理 + if self.engine.dialect.name == 'mysql': + enum_values = [f"'{val}'" for val in column.type.enums] + return f"ENUM({', '.join(enum_values)})" + # PostgreSQL中枚举类型的处理 + elif self.engine.dialect.name == 'postgresql': + # 获取枚举类型名称 + enum_name = column.type.name or f"{column.table.name}_{column.name}_enum" + # 创建枚举类型 + enum_values = [f"'{val}'" for val in column.type.enums] + self.db.execute(text(f"CREATE TYPE IF NOT EXISTS {enum_name} AS ENUM ({', '.join(enum_values)})")) + self.db.commit() + return enum_name + + # 其他类型直接使用SQLAlchemy的编译功能 + return column.type.compile(self.engine.dialect) + except Exception as e: + logger.error(f"获取列类型失败: {str(e)}") + # 默认返回VARCHAR类型 + return "VARCHAR(255)" + + def get_column_default_sql(self, column): + """获取列默认值的SQL表示""" + try: + default = column.default + if default is None: + return "" + + # 处理服务器端默认值 + if default.is_sequence or default.is_callable: + return "" # 服务器端默认值不需要在ADD COLUMN中指定 + + # 处理标量默认值 + if default.is_scalar: + if isinstance(default.arg, bool): + return f" DEFAULT {1 if default.arg else 0}" if self.engine.dialect.name == 'mysql' else f" DEFAULT {str(default.arg).lower()}" + elif isinstance(default.arg, (int, float)): + return f" DEFAULT {default.arg}" + elif isinstance(default.arg, str): + return f" DEFAULT '{default.arg}'" + elif isinstance(default.arg, enum.Enum): + return f" DEFAULT '{default.arg.value}'" + elif default.arg is None: + return " DEFAULT NULL" + + # 处理JSON默认值 + if hasattr(column.type, 'python_type') and column.type.python_type == dict: + if default.arg is None: + return " DEFAULT '{}'" + return f" DEFAULT '{json.dumps(default.arg)}'" + + return "" + except Exception as e: + logger.error(f"获取列默认值失败: {str(e)}") + return "" + + def add_column(self, table_name, column_name, column): + """添加列""" + try: + # 获取列类型 + column_type = self.get_column_type_sql(column) + + # 获取列默认值 + default_value = self.get_column_default_sql(column) + + # 获取列是否可为空 + nullable = "" if column.nullable else " NOT NULL" + + # 构建SQL语句 + sql = f"ALTER TABLE {table_name} ADD COLUMN {column_name} {column_type}{nullable}{default_value}" + + # 执行SQL + logger.info(f"执行SQL: {sql}") + self.db.execute(text(sql)) + self.db.commit() + + logger.info(f"添加列 {table_name}.{column_name} 成功") + return True + except Exception as e: + logger.error(f"添加列 {table_name}.{column_name} 失败: {str(e)}") + self.db.rollback() + return False + + def migrate(self): + """执行迁移""" + models = self.get_all_models() + logger.info(f"发现 {len(models)} 个模型") + + for model in models: + table_name = model.__tablename__ + + # 检查表是否存在 + if not self.check_table_exists(table_name): + logger.info(f"表 {table_name} 不存在,准备创建") + self.create_table(model) + continue + + # 获取表的列信息 + table_columns = self.get_table_columns(table_name) + + # 获取模型的列信息 + model_columns = self.get_model_columns(model) + + # 检查是否有新增的列 + for column_name, column in model_columns.items(): + if column_name not in table_columns: + logger.info(f"发现新增列 {table_name}.{column_name},准备添加") + self.add_column(table_name, column_name, column) + + logger.info("数据库迁移完成") + +def run_migration(): + """运行数据库迁移""" + try: + logger.info("开始数据库迁移") + migration = DBMigration() + migration.migrate() + logger.info("数据库迁移成功") + return True + except Exception as e: + logger.error(f"数据库迁移失败: {str(e)}") + return False + +if __name__ == "__main__": + # 设置日志格式 + logging.basicConfig( + level=logging.INFO, + format="%(asctime)s - %(name)s - %(levelname)s - %(message)s" + ) + + # 运行迁移 + run_migration() \ No newline at end of file diff --git a/天风任务模块需求文档.md b/天风任务模块需求文档.md index 9ee2256..cea4f85 100644 --- a/天风任务模块需求文档.md +++ b/天风任务模块需求文档.md @@ -302,17 +302,25 @@ 2. **核心参数配置**: - **是否异步执行任务**(可选项): - 选择是否以异步方式执行子任务 + - 支持两种传参类型: + - 简单值:直接手动输入 + - 表达式:通过系统默认参数拖拽生成,使用`${}`语法 - - **任务变量ID**(必选项): + - **任务实例ID**(可选项): - 指定子任务的唯一标识符 - - - **输入参数配置**: - - 根据子任务定义的输入参数进行配置 - - - **输出参数映射**(可选项): - - 定义子任务输出结果与上层任务变量的映射关系 + - 支持两种传参类型: + - 简单值:直接手动输入 + - 表达式:通过系统默认参数拖拽生成,使用`${}`语法 + +3. **通用配置**: + - 通过顶部的"任务输入参数"按钮进行配置,而非在核心参数配置中设置 + - 输入参数配置适用于所有组件块,是通用功能 + - 在此处可以定义和设置子任务所需的输入参数 + +**注意**:输入参数是所有块通用的配置项,不属于子任务特有的核心参数配置。每个参数都支持简单值和表达式两种传参类型。 详细说明参见:[天风任务-子任务功能说明.md](天风任务-子任务功能说明.md) + ### 脚本组件功能详细说明 脚本组件是天风任务模块低代码配置工具中的核心功能之一,它允许用户通过编写和配置JavaScript脚本来实现复杂的业务逻辑和数据处理功能。脚本组件为任务流程提供了灵活的编程能力,使用户能够突破标准组件的限制,实现个性化的任务处理逻辑。