chore(release): v0.1.1-alpha
##前端美化和bug修复 #### 💄 美化 - **前端美化**:对于整个前端效果进行了重新设计,现在的前端看起来会更立体。 #### 🐛 修复 - **前端演示**:修复了前端展示workflow列表的bug,但是workflow的具体条目显示由于序列化导致仍然有问题。 - **密钥修复**:对于secret_key现在在使用默认情况时,会强制生成一个安全的密钥。
This commit is contained in:
@@ -4,6 +4,7 @@ from pretor.worker_individual.worker_cluster import WorkerCluster
|
||||
from pretor.utils.banner import print_banner
|
||||
from pretor.core.database.postgres import PostgresDatabase
|
||||
from pretor.core.global_state_machine.global_state_machine import GlobalStateMachine
|
||||
from pretor.core.global_state_machine.global_workflow_manager import GlobalWorkflowManager
|
||||
from pretor.core.individual.supervisory_node.supervisory_node import SupervisoryNode
|
||||
from pretor.core.individual.consciousness_node.consciousness_node import ConsciousnessNode
|
||||
from pretor.core.individual.control_node.control_node import ControlNode
|
||||
@@ -11,8 +12,13 @@ from pretor.core.workflow.workflow_runner import WorkflowRunningEngine
|
||||
from pretor.core.api import PretorGateway
|
||||
from ray import serve
|
||||
import os
|
||||
import secrets
|
||||
|
||||
|
||||
_secret_key = os.getenv("SECRET_KEY")
|
||||
if not _secret_key or _secret_key in {"secret", "114514"}:
|
||||
_secret_key = secrets.token_urlsafe(32)
|
||||
os.environ["SECRET_KEY"] = _secret_key
|
||||
print("⚠️ 警告: 未提供有效的 SECRET_KEY 或使用了不安全的默认值,已生成并设置随机密钥。")
|
||||
|
||||
async def start_system():
|
||||
env_vars = {
|
||||
@@ -21,7 +27,7 @@ async def start_system():
|
||||
"POSTGRES_HOST": os.getenv("POSTGRES_HOST", "db"),
|
||||
"POSTGRES_PORT": os.getenv("POSTGRES_PORT", "5432"),
|
||||
"POSTGRES_DB": os.getenv("POSTGRES_DB", "postgres"),
|
||||
"SECRET_KEY": os.getenv("SECRET_KEY", "secret"),
|
||||
"SECRET_KEY": os.getenv("SECRET_KEY"),
|
||||
}
|
||||
|
||||
ray.init(ignore_reinit_error=True,
|
||||
@@ -51,13 +57,19 @@ async def start_system():
|
||||
print(f"\n[致命错误] GlobalStateMachine 启动失败!真实报错如下:\n{e}\n")
|
||||
return
|
||||
|
||||
global_workflow_manager = GlobalWorkflowManager.options(
|
||||
name='global_workflow_manager',
|
||||
namespace='pretor',
|
||||
lifetime='detached'
|
||||
).remote()
|
||||
|
||||
# 4. 启动核心节点
|
||||
supervisory_node = SupervisoryNode.options(name='supervisory_node').remote()
|
||||
consciousness_node = ConsciousnessNode.options(name='consciousness_node').remote()
|
||||
control_node = ControlNode.options(name='control_node').remote()
|
||||
|
||||
try:
|
||||
worker_cluster_actor = WorkerCluster.options(
|
||||
WorkerCluster.options(
|
||||
name="worker_cluster",
|
||||
lifetime="detached" # 保证它在后台一直运行
|
||||
).remote()
|
||||
@@ -73,6 +85,14 @@ async def start_system():
|
||||
# 异步拉起 runner 协程群
|
||||
workflow_engine.run.remote()
|
||||
|
||||
print("正在等待 GlobalWorkflowManager 初始化与恢复工作流...")
|
||||
try:
|
||||
await global_workflow_manager.init_manager.remote()
|
||||
print("GlobalWorkflowManager 初始化成功!")
|
||||
except Exception as e:
|
||||
print(f"\n[致命错误] GlobalWorkflowManager 启动失败!真实报错如下:\n{e}\n")
|
||||
return
|
||||
|
||||
# 6. 启动 FastAPI 网关 (使用 Ray Serve)
|
||||
serve.start(http_options={"host": "0.0.0.0", "port": 8000})
|
||||
serve.run(PretorGateway.bind())
|
||||
|
||||
Reference in New Issue
Block a user