<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Support\Facades\Log; use App\Models\{Address,Mailer}; use App\Jobs\AddressPoll as Job; class CommEMSISend extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'comm:emsi:send' .'{--N|now : Dont queue}' .'{ftn : FTN to Send to}'; /** * The console command description. * * @var string */ protected $description = 'EMSI send'; private const ID = 'EMSI'; /** * Execute the console command. * * @throws \Exception */ public function handle() { $ao = Address::findFTN($this->argument('ftn')); if (! $ao) throw new ModelNotFoundException('Unknown node: '.$this->argument('ftn')); Log::info(sprintf('CES:- Call EMSI send for %s',$ao->ftn)); $mo = Mailer::where('name',self::ID)->singleOrFail(); if ($this->option('now')) Job::dispatchSync($ao,$mo); else Job::dispatch($ao,$mo); return self::SUCCESS; } }