mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 23:42:48 +08:00
Add execute() wrapper in TimerControllerBase that wraps do() with logStart/logEnd, captures return value to result field. Change site URL routing from /do to /execute with task_name injection. Add result field to system_timer_log scheme. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
65 lines
2.4 KiB
PHP
65 lines
2.4 KiB
PHP
<?php
|
|
|
|
namespace app\admin\scheme;
|
|
|
|
use app\common\scheme\BaseScheme;
|
|
use app\common\scheme\attribute\Table;
|
|
use app\common\scheme\attribute\Field;
|
|
use app\common\scheme\attribute\Component;
|
|
use app\common\scheme\attribute\Index;
|
|
|
|
#[Table(name: 'ul_system_timer_log', comment: '定时器执行日志表')]
|
|
#[Index(columns: ['task_name'], name: 'idx_task_name', type: 'NORMAL')]
|
|
#[Index(columns: ['node_id'], name: 'idx_node_id', type: 'NORMAL')]
|
|
#[Index(columns: ['start_time'], name: 'idx_start_time', type: 'NORMAL')]
|
|
#[Index(columns: ['status'], name: 'idx_status', type: 'NORMAL')]
|
|
class SystemTimerLog extends BaseScheme
|
|
{
|
|
#[Field(type: 'int', length: 11, nullable: false, unsigned: true, autoIncrement: true, primary: true)]
|
|
public $id;
|
|
|
|
#[Field(length: 100, precision: 100, nullable: false, comment: '任务名称')]
|
|
#[Component(type: 'text', options: [])]
|
|
public $task_name;
|
|
|
|
#[Field(length: 100, precision: 100, nullable: false, comment: '执行节点ID')]
|
|
#[Component(type: 'text', options: [])]
|
|
public $node_id;
|
|
|
|
#[Field(length: 20, precision: 20, comment: '运行类型')]
|
|
#[Component(type: 'text', options: [])]
|
|
public $run_type;
|
|
|
|
#[Field(type: 'int', length: 11, nullable: false, unsigned: true, comment: '开始时间戳')]
|
|
#[Component(type: 'text', options: [])]
|
|
public $start_time;
|
|
|
|
#[Field(type: 'int', length: 11, unsigned: true, default: '0', comment: '结束时间戳')]
|
|
#[Component(type: 'text', options: [])]
|
|
public $end_time;
|
|
|
|
#[Field(type: 'int', length: 11, unsigned: true, default: '0', comment: '耗时(毫秒)')]
|
|
#[Component(type: 'text', options: [])]
|
|
public $duration;
|
|
|
|
#[Field(length: 20, precision: 20, default: 'running', comment: '状态:running/success/error')]
|
|
#[Component(type: 'text', options: [])]
|
|
public $status;
|
|
|
|
#[Field(type: 'text', nullable: true, comment: '错误信息')]
|
|
#[Component(type: 'textarea', options: [])]
|
|
public $error_message;
|
|
|
|
#[Field(type: 'text', nullable: true, comment: '执行结果(任务返回值)')]
|
|
#[Component(type: 'textarea', options: [])]
|
|
public $result;
|
|
|
|
#[Field(type: 'int', length: 11, default: '0', comment: '并发分片ID')]
|
|
#[Component(type: 'text', options: [])]
|
|
public $concurrency_id;
|
|
|
|
#[Field(type: 'int', length: 11, unsigned: true, comment: '创建时间')]
|
|
#[Component(type: 'date', options: [])]
|
|
public $create_time;
|
|
}
|