diff --git a/src/Tenancy.php b/src/Tenancy.php index 31947dbe..5ab6400d 100644 --- a/src/Tenancy.php +++ b/src/Tenancy.php @@ -77,20 +77,23 @@ class Tenancy public function run(Tenant $tenant, Closure $callback): mixed { $originalTenant = $this->tenant; + $result = null; - $this->initialize($tenant); - $result = $callback($tenant); + try { + $this->initialize($tenant); + $result = $callback($tenant); + } finally { + if ($originalTenant) { + $this->initialize($originalTenant); + } else { + $this->end(); + } + } if ($result instanceof PendingDispatch) { // #1277 $result = null; } - if ($originalTenant) { - $this->initialize($originalTenant); - } else { - $this->end(); - } - return $result; }