50 lines
1.3 KiB
PHP
50 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Console;
|
|
|
|
use App\Console\Commands\Price;
|
|
use Illuminate\Console\Scheduling\Schedule;
|
|
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
|
|
|
class Kernel extends ConsoleKernel
|
|
{
|
|
protected $commands = [
|
|
Price::class,
|
|
];
|
|
/**
|
|
* Define the application's command schedule.
|
|
*
|
|
* @param \Illuminate\Console\Scheduling\Schedule $schedule
|
|
* @return void
|
|
*/
|
|
protected function schedule(Schedule $schedule)
|
|
{
|
|
// همگامسازی قیمت محصولات متغیر (reading_method) — هر ۳۰ ثانیه
|
|
$schedule->call(function () {
|
|
for ($i = 0; $i < 2; $i++) {
|
|
\Illuminate\Support\Facades\Artisan::call('product:sync-prices');
|
|
if ($i < 1) {
|
|
sleep(30);
|
|
}
|
|
}
|
|
})->everyMinute()->name('sync_product_prices_30s')->withoutOverlapping();
|
|
|
|
$schedule->command('prices:refresh-zaarbox')
|
|
->everyThirtyMinutes()
|
|
->name('refresh_zaarbox_prices')
|
|
->withoutOverlapping();
|
|
}
|
|
|
|
/**
|
|
* Register the commands for the application.
|
|
*
|
|
* @return void
|
|
*/
|
|
protected function commands()
|
|
{
|
|
$this->load(__DIR__.'/Commands');
|
|
|
|
require base_path('routes/console.php');
|
|
}
|
|
}
|