tenant = $tenant; $this->package = $package; } /** * Execute the job. * * @return void */ public function handle() { $limit = ini_get('memory_limit'); ini_set('memory_limit', 1024 * 1 . "M"); $preservation = new PreservationClass($this->tenant, $this->package); $preservation->checkPreservationStatus(); ini_set('memory_limit', $limit); } /** * Handle a job failure. * * @param \Throwable $exception * @return void */ public function failed(Throwable $exception) { Log::emergency($exception); return; $prefix = config('json.prefix_db'); config(['database.connections.mysql-tenant.database' => "{$prefix}_ente{$this->tenant}"]); DB::purge('mysql-tenant'); $config = config("json", null); $alerts = $config["alerts"]; config([ "mail.mailers.smtp.host" => $alerts["config"]["smtp"], "mail.mailers.smtp.port" => $alerts["config"]["port"], "mail.mailers.smtp.encryption" => "ssl", "mail.mailers.smtp.username" => $alerts["config"]["username"], "mail.mailers.smtp.password" => $alerts["config"]["password"], ]); $message = "Impossibile recupero lo stato del pacchetto di conservazione #{$this->package} dell'ente #{$this->tenant} (CheckPreservationStatusJob.php)" . PHP_EOL; $message .= $exception->getMessage(); Mail::raw($message, function ($message) use ($alerts, $config) { $message->priority(3); $message->subject("{$config["nome_sito"]}: verifica modulo conservazione sostitutiva."); if(! empty($alerts["from"]["email"])) { $message->from($alerts["from"]["email"], $alerts["from"]["name"]); } if(! empty($alerts["reply"]["email"])) { $message->replyTo($alerts["reply"]["email"], $alerts["reply"]["name"]); } foreach ($alerts["to"] as $address) { $message->to($address["email"], $address["name"]); } }); } }