Files
w4rpservices/app/Console/Kernel.php

141 lines
3.6 KiB
PHP

<?php
namespace App\Console;
//Internal Library
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
//Library
use Commands\Library\CommandHelper;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
/**
* Data Commands
*/
Commands\Data\PurgeUsers::class,
Commands\Data\EmptyJumpBridges::class,
Commands\Data\CleanStaleDataCommand::class,
Commands\Data\PurgeCorpMoonLedgers::class,
/**
* Assets Commands
*/
Commands\Assets\GetAssetsCommand::class,
/**
* Corp Commands
*/
Commands\Corps\GetCorpsCommand::class,
/**
* Eve Commands
*/
Commands\Eve\ItemPricesUpdateCommand::class,
/**
* Finances Commands
*/
Commands\Finances\HoldingFinancesCommand::class,
Commands\Finances\SovBillsCommand::class,
/**
* Flex Commands
*/
Commands\Flex\FlexStructureCommand::class,
/**
* Moon Commands
*/
Commands\Moons\MoonsUpdateCommand::class,
/**
* Rental Moon Commands
*/
Commands\RentalMoons\AllianceRentalMoonInvoiceCreationCommand::class,
Commands\RentalMoons\AllianceRentalMoonUpdatePricingCommand::class,
/**
* Structures Command
*/
Commands\Structures\GetStructuresCommand::class,
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
//Horizon Graph Schedule
$schedule->command('horizon:snapshot')->everyFiveMinutes();
/**
* Moon Update Schedule
*/
/**
* System Rental Schedule
*/
$schedule->command('services:SystemRentals')
->monthlyOn(1, '00:01')
->withoutOverlapping();
/**
* Rentals / Flex Schedule
*/
$schedule->command('services:UpdateRentalPrice')
->dailyAt('11:00')
->withoutOverlapping();
$schedule->command('services:FlexStructures')
->monthlyOn(2, '00:01');
/**
* Holding Corp Finance Schedule
*/
$schedule->command('services:HoldingJournal')
->hourlyAt('45')
->withoutOverlapping();
/**
* Get Information Schedule
*/
$schedule->command('services:GetCorps')
->monthlyOn(1, '09:00');
$schedule->command('services:GetStructures')
->dailyAt('09:00');
$schedule->command('services:GetAssets')
->hourlyAt('22');
/**
* Purge Data Schedule
*/
$schedule->command('data:CleanData')
->weekly(7, '11:00');
$schedule->command('data:PurgeCorpLedgers')
->monthly();
$schedule->command('data:PurgeUsers')
->dailyAt('23:00');
/**
* Item Update Schedule
*/
$schedule->command('services:ItemPriceUpdate')
->hourlyAt('30')
->withoutOverlapping();
}
/**
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}