自动排队生成量化因子挖掘任务,心跳派发后将高 IC 因子入库。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-10-11 01:49:16 +08:00
parent f0b35e6b34
commit 598cecad5f
11 changed files with 529 additions and 23 deletions
+6 -2
View File
@@ -72,6 +72,7 @@ from app.services.common import get_node_by_sn, get_user_by_wallet
from app.services.datacenter import approve_application, list_applications, reject_application, submit_application
from app.services.hardware import HardwareReport
from app.services.hardware import display_node_id, displayed_population
from app.services.alpha_queue import assign_queued_alpha_task, maybe_generate_alpha_batch
from app.services.heartbeat import assert_node_token, record_heartbeat, set_node_banned
from app.services.ip_guard import add_whitelist_ip, client_ip, list_whitelist, remove_whitelist_ip
from app.services.orders import approve_order, list_orders, place_order, reject_order, render_client
@@ -327,6 +328,8 @@ def heartbeat(body: HeartbeatIn, request: Request, db: Db) -> HeartbeatOut:
client_ip=client_ip(request),
hardware_fingerprint=body.hardware_fingerprint,
)
maybe_generate_alpha_batch(db)
assigned = assign_queued_alpha_task(db, node)
days = node.recovery_days or 540
return HeartbeatOut(
sn=node.sn,
@@ -340,6 +343,7 @@ def heartbeat(body: HeartbeatIn, request: Request, db: Db) -> HeartbeatOut:
recoverable_stake_amount=node.recoverable_stake_amount,
purchase_amount=node.purchase_amount,
estimated_daily_points=money(node.purchase_amount / Decimal(days)),
assigned_task=_task_out(assigned) if assigned is not None else None,
)
@@ -514,8 +518,8 @@ def _admin_task_out(task: ComputeTask) -> AdminTaskOut:
return AdminTaskOut(
task_id=task.id,
task_type=task.task_type,
target_node_sn=node.sn,
display_node_id=node.display_node_id,
target_node_sn=node.sn if node is not None else "",
display_node_id=node.display_node_id if node is not None else 0,
status=task.status,
payload=task.payload or {},
result=task.result,