schedule stuff

This commit is contained in:
2021-03-30 20:47:48 +09:00
parent 38176274ff
commit 4b554f97ae
2 changed files with 69 additions and 1 deletions

View File

@@ -81,7 +81,7 @@ class Kernel extends ConsoleKernel
$schedule->job(new FetchMiningTaxesObserversJob)
->timezone('UTC')
->dailyAt('22:00');
$schedule->job(new FetchMiningTaxesLedgersJob)
$schedule->job(new PreFetchMiningTaxesLedgersJob)
->timezone('UTC')
->dailyAt('20:00');
$schedule->job(new SendMiningTaxesInvoicesJob)

View File

@@ -0,0 +1,68 @@
<?php
namespace App\Jobs\Commands\MiningTaxes;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Log;
use Carbon\Carbon;
//Application Library
use Commands\Library\CommandHelper;
//Models
use App\Models\MiningTax\Observer;
//Jobs
use App\Jobs\Commands\MiningTaxes\FetchMiningTaxesLedgersJob;
class PreFetchMiningTaxesLedgersJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Timeout in seconds
*
* @var int
*/
public $timeout = 1800;
/**
* Retries
*
* @var int
*/
public $retries = 3;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
$this->connection = 'redis';
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
//Get the site configuration which holds some data we need
$config = config('esi');
//Get the observers from the database
$observers = Observer::all();
//For each of the observers, send a job to fetch the mining ledger
foreach($observers as $obs) {
//Dispatch the mining taxes ledger jobs
FetchMiningTaxesLedgersJob::dispatch($config['primary'], $config['corporation'], $obs->observer_id)->onQueue('miningtaxes');
}
}
}