44 lines
1.2 KiB
PHP
44 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Console;
|
|
|
|
use Illuminate\Console\Scheduling\Schedule;
|
|
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
|
|
|
class Kernel extends ConsoleKernel
|
|
{
|
|
protected $commands = [
|
|
Commands\Price::class,
|
|
];
|
|
|
|
protected function schedule(Schedule $schedule)
|
|
{
|
|
// تیک قیمت — هر ۱۰ ثانیه (۶ بار در دقیقه)
|
|
$schedule->call(function () {
|
|
for ($i = 0; $i < 6; $i++) {
|
|
\Illuminate\Support\Facades\Artisan::call('prices:tick');
|
|
if ($i < 5) {
|
|
sleep(10);
|
|
}
|
|
}
|
|
})->everyMinute()->name('prices_tick_10s')->withoutOverlapping();
|
|
|
|
$schedule->command('prices:refresh-zaarbox')
|
|
->everyThirtyMinutes()
|
|
->name('refresh_zaarbox_prices')
|
|
->withoutOverlapping();
|
|
|
|
// پاکسازی و downsample تاریخچه — ساعت ۱۲ شب
|
|
$schedule->command('prices:prune')
|
|
->dailyAt('00:00')
|
|
->name('prune_price_snapshots');
|
|
}
|
|
|
|
protected function commands()
|
|
{
|
|
$this->load(__DIR__.'/Commands');
|
|
|
|
require base_path('routes/console.php');
|
|
}
|
|
}
|