2022-08-12 07:56:56 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Console;
|
|
|
|
|
2022-12-28 13:17:54 +00:00
|
|
|
use App\Jobs\AutoCloseWorkOrderJob;
|
|
|
|
use App\Jobs\CheckAndChargeBalanceJob;
|
|
|
|
use App\Jobs\ClearTasksJob;
|
|
|
|
use App\Jobs\DeleteHostJob;
|
2023-01-13 10:42:05 +00:00
|
|
|
use App\Jobs\Host\ScanAllHostsJob;
|
2022-12-28 13:17:54 +00:00
|
|
|
use App\Jobs\HostCostJob;
|
|
|
|
use App\Jobs\Module\FetchModuleJob;
|
|
|
|
use App\Jobs\Module\PushWorkOrderJob;
|
2022-12-30 11:36:57 +00:00
|
|
|
use App\Jobs\RollbackUserTempGroupJob;
|
2022-12-28 13:17:54 +00:00
|
|
|
use App\Jobs\SendModuleEarningsJob;
|
2022-12-30 11:36:57 +00:00
|
|
|
use App\Jobs\SetBirthdayGroupJob;
|
2022-08-12 07:56:56 +00:00
|
|
|
use Illuminate\Console\Scheduling\Schedule;
|
2022-11-06 11:28:22 +00:00
|
|
|
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
2022-08-12 07:56:56 +00:00
|
|
|
|
|
|
|
class Kernel extends ConsoleKernel
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* Define the application's command schedule.
|
|
|
|
*
|
2022-12-27 16:25:22 +00:00
|
|
|
* @param Schedule $schedule
|
2022-11-16 05:16:56 +00:00
|
|
|
*
|
2022-08-12 07:56:56 +00:00
|
|
|
* @return void
|
|
|
|
*/
|
2022-12-30 11:36:57 +00:00
|
|
|
protected function schedule(Schedule $schedule): void
|
2022-08-12 07:56:56 +00:00
|
|
|
{
|
2022-11-19 04:37:18 +00:00
|
|
|
// 清理过期的 Token
|
2022-11-06 11:28:22 +00:00
|
|
|
$schedule->command('sanctum:prune-expired --hours=24')->daily();
|
|
|
|
|
2022-11-19 04:37:18 +00:00
|
|
|
// 扣费
|
2022-12-28 13:17:54 +00:00
|
|
|
$schedule->job(new HostCostJob(now()->minute))->everyMinute()->withoutOverlapping()->onOneServer();
|
2022-11-19 04:37:18 +00:00
|
|
|
|
|
|
|
// 获取模块暴露的信息(服务器等)
|
2022-12-28 13:17:54 +00:00
|
|
|
$schedule->job(new FetchModuleJob())->withoutOverlapping()->everyMinute();
|
2022-11-19 04:37:18 +00:00
|
|
|
|
|
|
|
// 推送工单
|
2022-12-28 13:17:54 +00:00
|
|
|
$schedule->job(new PushWorkOrderJob())->everyMinute()->onOneServer();
|
2022-11-19 04:37:18 +00:00
|
|
|
// 自动关闭工单
|
2022-12-28 13:17:54 +00:00
|
|
|
$schedule->job(new AutoCloseWorkOrderJob())->everyMinute()->onOneServer();
|
2022-08-13 08:37:17 +00:00
|
|
|
|
2022-11-19 04:37:18 +00:00
|
|
|
// 清理任务
|
2022-12-28 13:17:54 +00:00
|
|
|
$schedule->job(new ClearTasksJob())->weekly();
|
2022-09-03 05:22:40 +00:00
|
|
|
|
2022-11-19 04:37:18 +00:00
|
|
|
// 删除暂停或部署时间超过 3 天以上的主机
|
2022-12-28 13:17:54 +00:00
|
|
|
$schedule->job(new DeleteHostJob())->hourly();
|
2022-09-18 06:28:29 +00:00
|
|
|
|
2022-11-19 04:37:18 +00:00
|
|
|
// 检查主机是否存在于模块
|
2023-01-13 10:42:05 +00:00
|
|
|
$schedule->job(new ScanAllHostsJob())->everyThirtyMinutes()->withoutOverlapping()->onOneServer();
|
2022-11-08 09:46:00 +00:00
|
|
|
|
2022-11-19 04:37:18 +00:00
|
|
|
// 检查未充值的订单,并充值
|
2022-12-28 13:17:54 +00:00
|
|
|
$schedule->job(new CheckAndChargeBalanceJob())->everyFiveMinutes()->onOneServer()->withoutOverlapping();
|
2022-11-19 04:37:18 +00:00
|
|
|
|
|
|
|
// 发送模块收益
|
2022-12-28 13:17:54 +00:00
|
|
|
$schedule->job(new SendModuleEarningsJob())->dailyAt('20:00');
|
2022-11-19 04:37:18 +00:00
|
|
|
|
2022-12-30 11:36:57 +00:00
|
|
|
// 回滚临时用户组
|
|
|
|
$schedule->job(new RollbackUserTempGroupJob())->everyMinute()->onOneServer();
|
|
|
|
|
|
|
|
// 设置生日用户组
|
|
|
|
$schedule->job(new SetBirthdayGroupJob())->dailyAt('00:00');
|
2022-11-06 11:28:22 +00:00
|
|
|
}
|
2022-09-21 05:35:09 +00:00
|
|
|
|
2023-01-05 05:10:08 +00:00
|
|
|
/**
|
|
|
|
* Register the commands for the application.
|
|
|
|
*
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
protected function commands(): void
|
2022-11-06 11:28:22 +00:00
|
|
|
{
|
2023-01-05 05:10:08 +00:00
|
|
|
$this->load(__DIR__ . '/Commands');
|
2022-10-31 11:50:32 +00:00
|
|
|
|
2023-01-05 05:10:08 +00:00
|
|
|
require base_path('routes/console.php');
|
2022-08-12 07:56:56 +00:00
|
|
|
}
|
|
|
|
}
|