mirror of
https://devops.lemonos.cn/lawson/FendxPHP.git
synced 2026-06-15 23:12:49 +08:00
feat(database): 添加用户角色权限系统及相关监控功能
- 创建用户表(users)包含基本信息和认证字段 - 创建角色表(roles)用于权限控制 - 创建权限表(permissions)定义系统权限 - 创建用户角色关联表(user_roles)建立用户与角色关系 - 创建角色权限关联表(role_permissions)建立角色与权限关系 - 创建迁移记录表(migrations)追踪数据库变更 - 添加AdminController提供管理员面板功能 - 实现系统监控、配置管理、缓存清理等功能 - 添加AOP切面编程支持的各种通知类型 - 实现告警管理AlertManager支持多渠道告警 - 添加文档注解接口规范
This commit is contained in:
60
app/Command/SchedulerCommand.php
Normal file
60
app/Command/SchedulerCommand.php
Normal file
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Command;
|
||||
|
||||
use Fendx\Core\Annotation\Service;
|
||||
use Fendx\Job\Scheduler\Scheduler;
|
||||
use Fendx\Log\Logger;
|
||||
|
||||
#[Service]
|
||||
class SchedulerCommand
|
||||
{
|
||||
private Scheduler $scheduler;
|
||||
|
||||
public function __construct(Scheduler $scheduler)
|
||||
{
|
||||
$this->scheduler = $scheduler;
|
||||
}
|
||||
|
||||
public function run(): void
|
||||
{
|
||||
Logger::info('Starting scheduler');
|
||||
|
||||
try {
|
||||
$this->scheduler->start();
|
||||
} catch (\Throwable $e) {
|
||||
Logger::error('Scheduler error: ' . $e->getMessage());
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
public function list(): void
|
||||
{
|
||||
$jobs = $this->scheduler->getJobs();
|
||||
|
||||
echo "Scheduled Jobs:\n";
|
||||
echo "================\n";
|
||||
|
||||
foreach ($jobs as $job) {
|
||||
echo sprintf(
|
||||
"Job: %s::%s\nCron: %s\nDescription: %s\nNext run: %s\n\n",
|
||||
$job['class'],
|
||||
$job['method'],
|
||||
$job['cron'],
|
||||
$job['description'],
|
||||
date('Y-m-d H:i:s', $job['next_run'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
public function runJob(string $jobName): void
|
||||
{
|
||||
try {
|
||||
$this->scheduler->runJob($jobName);
|
||||
echo "Job '$jobName' executed successfully\n";
|
||||
} catch (\Exception $e) {
|
||||
echo "Job execution failed: " . $e->getMessage() . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user