comment(Inspiring::quote()); })->purpose('Display an inspiring quote'); // Schedule::command('send:invoice-report'); // Schedule::command('send:production-report'); $rules = [ [ 'module' => 'InvoiceValidation', 'rule_name' => 'InvoiceMail', 'argument' => 'InvoiceMail', ], [ 'module' => 'InvoiceValidation', 'rule_name' => 'SerialInvoiceMail', 'argument' => 'SerialInvoiceMail', ], [ 'module' => 'InvoiceValidation', 'rule_name' => 'MaterialInvoiceMail', 'argument' => 'MaterialInvoiceMail', ], ]; foreach ($rules as $rule) { $scheduleType = AlertMailRule::where('module', $rule['module']) ->where('rule_name', $rule['rule_name']) ->value('schedule_type'); switch ($scheduleType) { case 'Live': Schedule::command("send:invoice-report {$rule['argument']}")->everyMinute()->runInBackground(); break; case 'Hourly': Schedule::command("send:invoice-report {$rule['argument']}")->hourly()->runInBackground(); break; case 'Daily': Schedule::command("send:invoice-report {$rule['argument']}")->dailyAt('07:59')->runInBackground(); break; default: Schedule::command("send:invoice-report {$rule['argument']}")->hourly()->runInBackground(); break; } } // Production Report Scheduling $productionScheduleType = AlertMailRule::where('module', 'ProductionQuantities') ->where('rule_name', 'ProductionMail') ->value('schedule_type'); switch ($productionScheduleType) { case 'Live': Schedule::command('send:production-report')->everyMinute()->runInBackground(); break; case 'Hourly': Schedule::command('send:production-report')->hourly()->runInBackground(); break; case 'Daily': Schedule::command('send:production-report')->dailyAt('07:59')->runInBackground(); break; default: Schedule::command('send:production-report')->hourly()->runInBackground(); break; }