From 9f56e5f99e15a4acd6a6e32699102c6a7d86c6d7 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 24 May 2019 08:37:47 +1000 Subject: [PATCH] Bug Fixes --- app/Jobs/Cron/RecurringInvoicesCron.php | 34 +++++++++++++++++---- app/Jobs/RecurringInvoice/SendRecurring.php | 6 +++- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/app/Jobs/Cron/RecurringInvoicesCron.php b/app/Jobs/Cron/RecurringInvoicesCron.php index 6f6c74a64e68..b56bdd52195a 100644 --- a/app/Jobs/Cron/RecurringInvoicesCron.php +++ b/app/Jobs/Cron/RecurringInvoicesCron.php @@ -39,16 +39,38 @@ class RecurringInvoicesCron public function handle() : void { /* Get all invoices where the send date is less than NOW + 30 minutes() */ + + if (! config('ninja.db.multi_db_enabled')) + { + $recurring_invoices = RecurringInvoice::where('next_send_date', '<=', Carbon::now()->addMinutes(30))->get(); - $recurring_invoices = RecurringInvoice::where('next_send_date', '<=' Carbon::now()->addMinutes(30))->get(); + Log::info(Carbon::now()->addMinutes(30) . ' Sending Recurring Invoices. Count = '. $recurring_invoices->count() ); - Log::info(Carbon::now()->addMinutes(30) . ' Sending Recurring Invoices. Count = '. $recurring_invoices->count() ); + $recurring_invoices->each(function ($recurring_invoice, $key) { + + SendRecurring::dispatch($recurring_invoice, $recurring_invoice->company->db); - $recurring_invoices->each(function ($recurring_invoice, $key) { - - SendRecurring::dispatch($recurring_invoice); + }); + } + else + { + //multiDB environment, need to + foreach (MultiDB::$dbs as $db) + { + MultiDB::setDB($db); - }); + $recurring_invoices = RecurringInvoice::where('next_send_date', '<=', Carbon::now()->addMinutes(30))->get(); + + Log::info(Carbon::now()->addMinutes(30) . ' Sending Recurring Invoices. Count = '. $recurring_invoices->count() . 'On Database # '. $db); + + $recurring_invoices->each(function ($recurring_invoice, $key) { + + SendRecurring::dispatch($recurring_invoice, $recurring_invoice->company->db); + + }); + + } + } } diff --git a/app/Jobs/RecurringInvoice/SendRecurring.php b/app/Jobs/RecurringInvoice/SendRecurring.php index 7aa1ce59c932..a5aed8e4085f 100644 --- a/app/Jobs/RecurringInvoice/SendRecurring.php +++ b/app/Jobs/RecurringInvoice/SendRecurring.php @@ -26,16 +26,19 @@ class SendRecurring public $recurring_invoice; + protected $db; + /** * Create a new job instance. * * @return void */ - public function __construct(RecurringInvoice $recurring_invoice) + public function __construct(RecurringInvoice $recurring_invoice, string $db = 'db-ninja-01') { $this->recurring_invoice = $recurring_invoice; + $this->db = $db; } @@ -46,6 +49,7 @@ class SendRecurring */ public function handle() : void { + MultiDb::setDb($this->db); // Generate Standard Invoice $invoice = RecurringInvoiceToInvoiceFactory::create($this->recurring_invoice);