scheduled jobs
This commit is contained in:
@@ -12,6 +12,9 @@ use App\Library\Esi;
|
|||||||
use App\Models\EsiScope;
|
use App\Models\EsiScope;
|
||||||
use App\Models\EsiToken;
|
use App\Models\EsiToken;
|
||||||
use App\Models\Structure;
|
use App\Models\Structure;
|
||||||
|
use App\Models\ScheduleJob;
|
||||||
|
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
class CorpJournal extends Command
|
class CorpJournal extends Command
|
||||||
{
|
{
|
||||||
@@ -46,6 +49,13 @@ class CorpJournal extends Command
|
|||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
|
//Add an entry into the jobs table
|
||||||
|
$job = new ScheduleJob;
|
||||||
|
$time = Carbon::now();
|
||||||
|
$job->name = 'CorpJournal';
|
||||||
|
$job->state = 'Starting';
|
||||||
|
$job->system_time = $time;
|
||||||
|
$job->save();
|
||||||
//Setup the Finances Container
|
//Setup the Finances Container
|
||||||
$finance = new Finances();
|
$finance = new Finances();
|
||||||
//Get the corps with structures logged in the database
|
//Get the corps with structures logged in the database
|
||||||
@@ -56,6 +66,10 @@ class CorpJournal extends Command
|
|||||||
$this->GetJournal($structure->character_id);
|
$this->GetJournal($structure->character_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Mark the job as finished
|
||||||
|
DB::table('schedule_jobs')->where('system_time', $time)->update([
|
||||||
|
'job_state' => 'Finished',
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function GetJournal($charId) {
|
private function GetJournal($charId) {
|
||||||
|
|||||||
@@ -4,14 +4,19 @@ namespace App\Console\Commands;
|
|||||||
|
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
|
|
||||||
|
use DB;
|
||||||
|
|
||||||
use App\Models\AllianceCorp;
|
use App\Models\AllianceCorp;
|
||||||
|
use App\Models\ScheduleJob;
|
||||||
|
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
use Seat\Eseye\Cache\NullCache;
|
use Seat\Eseye\Cache\NullCache;
|
||||||
use Seat\Eseye\Configuration;
|
use Seat\Eseye\Configuration;
|
||||||
use Seat\Eseye\Containers\EsiAuthentication;
|
use Seat\Eseye\Containers\EsiAuthentication;
|
||||||
use Seat\Eseye\Eseye;
|
use Seat\Eseye\Eseye;
|
||||||
|
|
||||||
class getCorps extends Command
|
class GetCorps extends Command
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* The name and signature of the console command.
|
* The name and signature of the console command.
|
||||||
@@ -44,6 +49,13 @@ class getCorps extends Command
|
|||||||
*/
|
*/
|
||||||
public function handle()
|
public function handle()
|
||||||
{
|
{
|
||||||
|
//Add an entry into the jobs table
|
||||||
|
$job = new ScheduleJob;
|
||||||
|
$time = Carbon::now();
|
||||||
|
$job->job_name = 'GetCorps';
|
||||||
|
$job->job_state = 'Starting';
|
||||||
|
$job->system_time = $time;
|
||||||
|
$job->save();
|
||||||
//Set the parameters for ESI
|
//Set the parameters for ESI
|
||||||
$configuration = Configuration::getInstance();
|
$configuration = Configuration::getInstance();
|
||||||
$configuration->logfile_location = 'var/www/w4rpservices/storage/logs/eseye';
|
$configuration->logfile_location = 'var/www/w4rpservices/storage/logs/eseye';
|
||||||
@@ -72,5 +84,10 @@ class getCorps extends Command
|
|||||||
$entry->name = $corpInfo->name;
|
$entry->name = $corpInfo->name;
|
||||||
$entry->save();
|
$entry->save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//If the job is finished we need to mark it in the table
|
||||||
|
DB::table('schedule_jobs')->where('system_time', $time)->update([
|
||||||
|
'job_state' => 'Finished',
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,9 +27,7 @@ class Kernel extends ConsoleKernel
|
|||||||
protected function schedule(Schedule $schedule)
|
protected function schedule(Schedule $schedule)
|
||||||
{
|
{
|
||||||
$schedule->command(CorpJournal::class)->everyFifteenMinutes();
|
$schedule->command(CorpJournal::class)->everyFifteenMinutes();
|
||||||
// $schedule->command(getCorps)->daily();
|
//$schedule->command(GetCorps::class)->daily();
|
||||||
// $schedule->command('inspire')
|
|
||||||
// ->hourly();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ class FinancesController extends Controller
|
|||||||
//Get the taxes for the corporation
|
//Get the taxes for the corporation
|
||||||
$taxes = DB::table('CorpJournals')
|
$taxes = DB::table('CorpJournals')
|
||||||
->where(['corporation_id'=> $corpId, 'ref_type' => 'brokers_fee'])
|
->where(['corporation_id'=> $corpId, 'ref_type' => 'brokers_fee'])
|
||||||
->whereBetween($start, $end)
|
->whereBetween(['dateTime' => $start, 'dateTime' => $end])
|
||||||
->get();
|
->get();
|
||||||
foreach($taxes as $tax) {
|
foreach($taxes as $tax) {
|
||||||
$totalTax += $tax->amount;
|
$totalTax += $tax->amount;
|
||||||
|
|||||||
19
app/Models/ScheduleJob.php
Normal file
19
app/Models/ScheduleJob.php
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class ScheduleJob extends Model
|
||||||
|
{
|
||||||
|
protected $table = 'schedule_jobs';
|
||||||
|
|
||||||
|
public $timestamps = true;
|
||||||
|
|
||||||
|
public $primaryKey = 'id';
|
||||||
|
|
||||||
|
protected $fillable = [
|
||||||
|
'job_name',
|
||||||
|
'job_state',
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
class CreateScheduleJobs extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
if(!Schema::hasTable('schedule_jobs')) {
|
||||||
|
Schema::create('schedule_jobs', function(Blueprint $table) {
|
||||||
|
$table->increments('id');
|
||||||
|
$table->string('job_name');
|
||||||
|
$table->string('job_state');
|
||||||
|
$table->dateTime('system_time');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('schedule_jobs');
|
||||||
|
}
|
||||||
|
}
|
||||||
8
vendor/composer/autoload_classmap.php
vendored
8
vendor/composer/autoload_classmap.php
vendored
@@ -6,8 +6,8 @@ $vendorDir = dirname(dirname(__FILE__));
|
|||||||
$baseDir = dirname($vendorDir);
|
$baseDir = dirname($vendorDir);
|
||||||
|
|
||||||
return array(
|
return array(
|
||||||
'App\\Console\\Commands\\corpJournal' => $baseDir . '/app/Console/Commands/corpJournal.php',
|
'App\\Console\\Commands\\CorpJournal' => $baseDir . '/app/Console/Commands/corpJournal.php',
|
||||||
'App\\Console\\Commands\\getCorps' => $baseDir . '/app/Console/Commands/getCorps.php',
|
'App\\Console\\Commands\\GetCorps' => $baseDir . '/app/Console/Commands/getCorps.php',
|
||||||
'App\\Console\\Commands\\sendMail' => $baseDir . '/app/Console/Commands/sendmail.php',
|
'App\\Console\\Commands\\sendMail' => $baseDir . '/app/Console/Commands/sendmail.php',
|
||||||
'App\\Console\\Kernel' => $baseDir . '/app/Console/Kernel.php',
|
'App\\Console\\Kernel' => $baseDir . '/app/Console/Kernel.php',
|
||||||
'App\\Exceptions\\Handler' => $baseDir . '/app/Exceptions/Handler.php',
|
'App\\Exceptions\\Handler' => $baseDir . '/app/Exceptions/Handler.php',
|
||||||
@@ -23,6 +23,7 @@ return array(
|
|||||||
'App\\Http\\Controllers\\FinancesController' => $baseDir . '/app/Http/Controllers/FinancesController.php',
|
'App\\Http\\Controllers\\FinancesController' => $baseDir . '/app/Http/Controllers/FinancesController.php',
|
||||||
'App\\Http\\Controllers\\FleetsController' => $baseDir . '/app/Http/Controllers/FleetsController.php',
|
'App\\Http\\Controllers\\FleetsController' => $baseDir . '/app/Http/Controllers/FleetsController.php',
|
||||||
'App\\Http\\Controllers\\MoonsController' => $baseDir . '/app/Http/Controllers/MoonsController.php',
|
'App\\Http\\Controllers\\MoonsController' => $baseDir . '/app/Http/Controllers/MoonsController.php',
|
||||||
|
'App\\Http\\Controllers\\RegisterStructureController' => $baseDir . '/app/Http/Controllers/RegisterStructureController.php',
|
||||||
'App\\Http\\Controllers\\WikiController' => $baseDir . '/app/Http/Controllers/WikiController.php',
|
'App\\Http\\Controllers\\WikiController' => $baseDir . '/app/Http/Controllers/WikiController.php',
|
||||||
'App\\Http\\Kernel' => $baseDir . '/app/Http/Kernel.php',
|
'App\\Http\\Kernel' => $baseDir . '/app/Http/Kernel.php',
|
||||||
'App\\Http\\Middleware\\Authenticate' => $baseDir . '/app/Http/Middleware/Authenticate.php',
|
'App\\Http\\Middleware\\Authenticate' => $baseDir . '/app/Http/Middleware/Authenticate.php',
|
||||||
@@ -34,14 +35,17 @@ return array(
|
|||||||
'App\\Http\\Middleware\\TrimStrings' => $baseDir . '/app/Http/Middleware/TrimStrings.php',
|
'App\\Http\\Middleware\\TrimStrings' => $baseDir . '/app/Http/Middleware/TrimStrings.php',
|
||||||
'App\\Http\\Middleware\\TrustProxies' => $baseDir . '/app/Http/Middleware/TrustProxies.php',
|
'App\\Http\\Middleware\\TrustProxies' => $baseDir . '/app/Http/Middleware/TrustProxies.php',
|
||||||
'App\\Http\\Middleware\\VerifyCsrfToken' => $baseDir . '/app/Http/Middleware/VerifyCsrfToken.php',
|
'App\\Http\\Middleware\\VerifyCsrfToken' => $baseDir . '/app/Http/Middleware/VerifyCsrfToken.php',
|
||||||
|
'App\\Library\\Esi' => $baseDir . '/app/Library/Esi.php',
|
||||||
'App\\Library\\Finances' => $baseDir . '/app/Library/Finances.php',
|
'App\\Library\\Finances' => $baseDir . '/app/Library/Finances.php',
|
||||||
'App\\Library\\Fleet' => $baseDir . '/app/Library/Fleet.php',
|
'App\\Library\\Fleet' => $baseDir . '/app/Library/Fleet.php',
|
||||||
'App\\Library\\Mail' => $baseDir . '/app/Library/Mail.php',
|
'App\\Library\\Mail' => $baseDir . '/app/Library/Mail.php',
|
||||||
'App\\Library\\MoonCalc' => $baseDir . '/app/Library/MoonCalc.php',
|
'App\\Library\\MoonCalc' => $baseDir . '/app/Library/MoonCalc.php',
|
||||||
'App\\Library\\MoonMine' => $baseDir . '/app/Library/MoonMine.php',
|
'App\\Library\\MoonMine' => $baseDir . '/app/Library/MoonMine.php',
|
||||||
|
'App\\Library\\SeatHelper' => $baseDir . '/app/Library/SeatHelper.php',
|
||||||
'App\\Models\\AllianceCorp' => $baseDir . '/app/Models/AllianceCorp.php',
|
'App\\Models\\AllianceCorp' => $baseDir . '/app/Models/AllianceCorp.php',
|
||||||
'App\\Models\\Config' => $baseDir . '/app/Models/Config.php',
|
'App\\Models\\Config' => $baseDir . '/app/Models/Config.php',
|
||||||
'App\\Models\\CorpJournal' => $baseDir . '/app/Models/CorpJournal.php',
|
'App\\Models\\CorpJournal' => $baseDir . '/app/Models/CorpJournal.php',
|
||||||
|
'App\\Models\\CorpStructure' => $baseDir . '/app/Models/CorpStructure.php',
|
||||||
'App\\Models\\DokuGroupNames' => $baseDir . '/app/Models/DokuGroupNames.php',
|
'App\\Models\\DokuGroupNames' => $baseDir . '/app/Models/DokuGroupNames.php',
|
||||||
'App\\Models\\DokuMember' => $baseDir . '/app/Models/DokuMember.php',
|
'App\\Models\\DokuMember' => $baseDir . '/app/Models/DokuMember.php',
|
||||||
'App\\Models\\DokuUser' => $baseDir . '/app/Models/DokuUser.php',
|
'App\\Models\\DokuUser' => $baseDir . '/app/Models/DokuUser.php',
|
||||||
|
|||||||
8
vendor/composer/autoload_static.php
vendored
8
vendor/composer/autoload_static.php
vendored
@@ -401,8 +401,8 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
|||||||
);
|
);
|
||||||
|
|
||||||
public static $classMap = array (
|
public static $classMap = array (
|
||||||
'App\\Console\\Commands\\corpJournal' => __DIR__ . '/../..' . '/app/Console/Commands/corpJournal.php',
|
'App\\Console\\Commands\\CorpJournal' => __DIR__ . '/../..' . '/app/Console/Commands/corpJournal.php',
|
||||||
'App\\Console\\Commands\\getCorps' => __DIR__ . '/../..' . '/app/Console/Commands/getCorps.php',
|
'App\\Console\\Commands\\GetCorps' => __DIR__ . '/../..' . '/app/Console/Commands/getCorps.php',
|
||||||
'App\\Console\\Commands\\sendMail' => __DIR__ . '/../..' . '/app/Console/Commands/sendmail.php',
|
'App\\Console\\Commands\\sendMail' => __DIR__ . '/../..' . '/app/Console/Commands/sendmail.php',
|
||||||
'App\\Console\\Kernel' => __DIR__ . '/../..' . '/app/Console/Kernel.php',
|
'App\\Console\\Kernel' => __DIR__ . '/../..' . '/app/Console/Kernel.php',
|
||||||
'App\\Exceptions\\Handler' => __DIR__ . '/../..' . '/app/Exceptions/Handler.php',
|
'App\\Exceptions\\Handler' => __DIR__ . '/../..' . '/app/Exceptions/Handler.php',
|
||||||
@@ -418,6 +418,7 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
|||||||
'App\\Http\\Controllers\\FinancesController' => __DIR__ . '/../..' . '/app/Http/Controllers/FinancesController.php',
|
'App\\Http\\Controllers\\FinancesController' => __DIR__ . '/../..' . '/app/Http/Controllers/FinancesController.php',
|
||||||
'App\\Http\\Controllers\\FleetsController' => __DIR__ . '/../..' . '/app/Http/Controllers/FleetsController.php',
|
'App\\Http\\Controllers\\FleetsController' => __DIR__ . '/../..' . '/app/Http/Controllers/FleetsController.php',
|
||||||
'App\\Http\\Controllers\\MoonsController' => __DIR__ . '/../..' . '/app/Http/Controllers/MoonsController.php',
|
'App\\Http\\Controllers\\MoonsController' => __DIR__ . '/../..' . '/app/Http/Controllers/MoonsController.php',
|
||||||
|
'App\\Http\\Controllers\\RegisterStructureController' => __DIR__ . '/../..' . '/app/Http/Controllers/RegisterStructureController.php',
|
||||||
'App\\Http\\Controllers\\WikiController' => __DIR__ . '/../..' . '/app/Http/Controllers/WikiController.php',
|
'App\\Http\\Controllers\\WikiController' => __DIR__ . '/../..' . '/app/Http/Controllers/WikiController.php',
|
||||||
'App\\Http\\Kernel' => __DIR__ . '/../..' . '/app/Http/Kernel.php',
|
'App\\Http\\Kernel' => __DIR__ . '/../..' . '/app/Http/Kernel.php',
|
||||||
'App\\Http\\Middleware\\Authenticate' => __DIR__ . '/../..' . '/app/Http/Middleware/Authenticate.php',
|
'App\\Http\\Middleware\\Authenticate' => __DIR__ . '/../..' . '/app/Http/Middleware/Authenticate.php',
|
||||||
@@ -429,14 +430,17 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9
|
|||||||
'App\\Http\\Middleware\\TrimStrings' => __DIR__ . '/../..' . '/app/Http/Middleware/TrimStrings.php',
|
'App\\Http\\Middleware\\TrimStrings' => __DIR__ . '/../..' . '/app/Http/Middleware/TrimStrings.php',
|
||||||
'App\\Http\\Middleware\\TrustProxies' => __DIR__ . '/../..' . '/app/Http/Middleware/TrustProxies.php',
|
'App\\Http\\Middleware\\TrustProxies' => __DIR__ . '/../..' . '/app/Http/Middleware/TrustProxies.php',
|
||||||
'App\\Http\\Middleware\\VerifyCsrfToken' => __DIR__ . '/../..' . '/app/Http/Middleware/VerifyCsrfToken.php',
|
'App\\Http\\Middleware\\VerifyCsrfToken' => __DIR__ . '/../..' . '/app/Http/Middleware/VerifyCsrfToken.php',
|
||||||
|
'App\\Library\\Esi' => __DIR__ . '/../..' . '/app/Library/Esi.php',
|
||||||
'App\\Library\\Finances' => __DIR__ . '/../..' . '/app/Library/Finances.php',
|
'App\\Library\\Finances' => __DIR__ . '/../..' . '/app/Library/Finances.php',
|
||||||
'App\\Library\\Fleet' => __DIR__ . '/../..' . '/app/Library/Fleet.php',
|
'App\\Library\\Fleet' => __DIR__ . '/../..' . '/app/Library/Fleet.php',
|
||||||
'App\\Library\\Mail' => __DIR__ . '/../..' . '/app/Library/Mail.php',
|
'App\\Library\\Mail' => __DIR__ . '/../..' . '/app/Library/Mail.php',
|
||||||
'App\\Library\\MoonCalc' => __DIR__ . '/../..' . '/app/Library/MoonCalc.php',
|
'App\\Library\\MoonCalc' => __DIR__ . '/../..' . '/app/Library/MoonCalc.php',
|
||||||
'App\\Library\\MoonMine' => __DIR__ . '/../..' . '/app/Library/MoonMine.php',
|
'App\\Library\\MoonMine' => __DIR__ . '/../..' . '/app/Library/MoonMine.php',
|
||||||
|
'App\\Library\\SeatHelper' => __DIR__ . '/../..' . '/app/Library/SeatHelper.php',
|
||||||
'App\\Models\\AllianceCorp' => __DIR__ . '/../..' . '/app/Models/AllianceCorp.php',
|
'App\\Models\\AllianceCorp' => __DIR__ . '/../..' . '/app/Models/AllianceCorp.php',
|
||||||
'App\\Models\\Config' => __DIR__ . '/../..' . '/app/Models/Config.php',
|
'App\\Models\\Config' => __DIR__ . '/../..' . '/app/Models/Config.php',
|
||||||
'App\\Models\\CorpJournal' => __DIR__ . '/../..' . '/app/Models/CorpJournal.php',
|
'App\\Models\\CorpJournal' => __DIR__ . '/../..' . '/app/Models/CorpJournal.php',
|
||||||
|
'App\\Models\\CorpStructure' => __DIR__ . '/../..' . '/app/Models/CorpStructure.php',
|
||||||
'App\\Models\\DokuGroupNames' => __DIR__ . '/../..' . '/app/Models/DokuGroupNames.php',
|
'App\\Models\\DokuGroupNames' => __DIR__ . '/../..' . '/app/Models/DokuGroupNames.php',
|
||||||
'App\\Models\\DokuMember' => __DIR__ . '/../..' . '/app/Models/DokuMember.php',
|
'App\\Models\\DokuMember' => __DIR__ . '/../..' . '/app/Models/DokuMember.php',
|
||||||
'App\\Models\\DokuUser' => __DIR__ . '/../..' . '/app/Models/DokuUser.php',
|
'App\\Models\\DokuUser' => __DIR__ . '/../..' . '/app/Models/DokuUser.php',
|
||||||
|
|||||||
Reference in New Issue
Block a user