romanzipp / Laravel-Queue-Monitor

Monitoring Laravel Jobs with your Database
https://packagist.org/packages/romanzipp/laravel-queue-monitor
MIT License
693 stars 91 forks source link

Attribute [queueMonitor] does not exist. #87

Closed abanghendri closed 2 years ago

abanghendri commented 2 years ago

Hello, I'm using default example of this package like this

Route::prefix('jobs-monitor')->group(function () {
            Route::queueMonitor();
}

it's work on local but when I upload to live server, it produce error like this

Attribute [queueMonitor] does not exist. {"exception":"[object] (InvalidArgumentException(code: 0): Attribute [queueMonitor] does not exist. at /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php:105)

and this is the error stack

[stacktrace]
#0 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(1329): Illuminate\\Routing\\RouteRegistrar->attribute()
#1 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\\Routing\\Router->__call()
#2 /home/k3508610/public_html/routes/web.php(199): Illuminate\\Support\\Facades\\Facade::__callStatic()
#3 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(423): Illuminate\\Routing\\RouteFileRegistrar->{closure}()
#4 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(382): Illuminate\\Routing\\Router->loadRoutes()
#5 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php(161): Illuminate\\Routing\\Router->group()
#6 /home/k3508610/public_html/routes/web.php(245): Illuminate\\Routing\\RouteRegistrar->group()
#7 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(423): Illuminate\\Routing\\RouteFileRegistrar->{closure}()
#8 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(382): Illuminate\\Routing\\Router->loadRoutes()
#9 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\\Routing\\Router->group()
#10 /home/k3508610/public_html/routes/web.php(247): Illuminate\\Support\\Facades\\Facade::__callStatic()
#11 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(423): Illuminate\\Routing\\RouteFileRegistrar->{closure}()
#12 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(382): Illuminate\\Routing\\Router->loadRoutes()
#13 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php(161): Illuminate\\Routing\\Router->group()
#14 /home/k3508610/public_html/routes/web.php(253): Illuminate\\Routing\\RouteRegistrar->group()
#15 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/RouteFileRegistrar.php(35): require('/home/k3508610/...')
#16 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(425): Illuminate\\Routing\\RouteFileRegistrar->register()
#17 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(382): Illuminate\\Routing\\Router->loadRoutes()
#18 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/RouteRegistrar.php(161): Illuminate\\Routing\\Router->group()
#19 /home/k3508610/public_html/app/Providers/RouteServiceProvider.php(48): Illuminate\\Routing\\RouteRegistrar->group()
#20 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): App\\Providers\\RouteServiceProvider->App\\Providers\\{closure}()
#21 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Container/Util.php(40): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#22 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(81): Illuminate\\Container\\Util::unwrapIfClosure()
#23 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod()
#24 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Container/Container.php(653): Illuminate\\Container\\BoundMethod::call()
#25 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php(120): Illuminate\\Container\\Container->call()
#26 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Support/Providers/RouteServiceProvider.php(45): Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider->loadRoutes()
#27 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider->Illuminate\\Foundation\\Support\\Providers\\{closure}()
#28 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Container/Util.php(40): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
#29 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(81): Illuminate\\Container\\Util::unwrapIfClosure()
#30 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(37): Illuminate\\Container\\BoundMethod::callBoundMethod()
#31 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Container/Container.php(653): Illuminate\\Container\\BoundMethod::call()
#32 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Support/ServiceProvider.php(119): Illuminate\\Container\\Container->call()
#33 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(917): Illuminate\\Support\\ServiceProvider->callBootedCallbacks()
#34 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(895): Illuminate\\Foundation\\Application->bootProvider()
#35 [internal function]: Illuminate\\Foundation\\Application->Illuminate\\Foundation\\{closure}()
#36 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(896): array_walk()
#37 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/BootProviders.php(17): Illuminate\\Foundation\\Application->boot()
#38 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(237): Illuminate\\Foundation\\Bootstrap\\BootProviders->bootstrap()
#39 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(153): Illuminate\\Foundation\\Application->bootstrapWith()
#40 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(137): Illuminate\\Foundation\\Http\\Kernel->bootstrap()
#41 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#42 /home/k3508610/public_html/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#43 /home/k3508610/public_html/server.php(21): require_once('/home/k3508610/...')
#44 {main}
"}

I try to use another method:

Route::get('jobsui', \romanzipp\QueueMonitor\Controllers\ShowQueueMonitorController::class)->name('queue-monitor::index'); 
        Route::delete('jobsui/monitors/{monitor}', \romanzipp\QueueMonitor\Controllers\DeleteMonitorController::class)->name('queue-monitor::destroy'); 
        Route::delete('jobsui/purge', \romanzipp\QueueMonitor\Controllers\PurgeMonitorsController::class)->name('queue-monitor::purge'); 

But now, I get another error

Class name must be a valid object or a string {"userId":1,"exception":"[object] (Error(code: 0): Class name must be a valid object or a string at /home/k3508610/public_html/vendor/romanzipp/laravel-queue-monitor/src/Services/QueueMonitor.php:36) 

and this is the error stack

[stacktrace]
#0 /home/k3508610/public_html/vendor/romanzipp/laravel-queue-monitor/src/Controllers/ShowQueueMonitorController.php(34): romanzipp\\QueueMonitor\\Services\\QueueMonitor::getModel()
#1 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(48): romanzipp\\QueueMonitor\\Controllers\\ShowQueueMonitorController->__invoke()
#2 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(262): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#3 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController()
#4 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(695): Illuminate\\Routing\\Route->run()
#5 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}()
#6 /home/k3508610/public_html/vendor/spatie/laravel-permission/src/Middlewares/RoleMiddleware.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#7 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Spatie\\Permission\\Middlewares\\RoleMiddleware->handle()
#8 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Auth/Middleware/EnsureEmailIsVerified.php(30): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#9 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\EnsureEmailIsVerified->handle()
#10 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#11 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle()
#12 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(44): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#13 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Auth\\Middleware\\Authenticate->handle()
#14 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#15 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#16 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#17 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#18 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Session/Middleware/AuthenticateSession.php(58): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#19 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\AuthenticateSession->handle()
#20 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#21 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#22 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle()
#23 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#24 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#25 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#26 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#27 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#28 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(697): Illuminate\\Pipeline\\Pipeline->then()
#29 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(672): Illuminate\\Routing\\Router->runRouteWithinStack()
#30 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(636): Illuminate\\Routing\\Router->runRoute()
#31 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\\Routing\\Router->dispatchToRoute()
#32 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch()
#33 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}()
#34 /home/k3508610/public_html/vendor/livewire/livewire/src/DisableBrowserCache.php(19): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#35 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Livewire\\DisableBrowserCache->handle()
#36 /home/k3508610/public_html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#37 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle()
#38 /home/k3508610/public_html/app/Http/Middleware/HttpsProtocolMiddleware.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#39 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): App\\Http\\Middleware\\HttpsProtocolMiddleware->handle()
#40 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#41 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#42 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull->handle()
#43 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#44 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#45 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#46 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#47 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle()
#48 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#49 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#50 /home/k3508610/public_html/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#51 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle()
#52 /home/k3508610/public_html/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#53 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle()
#54 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}()
#55 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then()
#56 /home/k3508610/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#57 /home/k3508610/public_html/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle()
#58 /home/k3508610/public_html/server.php(21): require_once('/home/k3508610/...')
#59 {main}
"}

please help me

romanzipp commented 2 years ago

It looks like the package is not correctly autoloaded by your composer. Try running composer dump-autoload

xtfer commented 2 years ago

FWIW, I had the same issue with an optimised autoloader, and I eventually just added the routes manually. Sharing here in case anyone finds it useful.

        Route::prefix('jobs')->group(function () {
            Route::get('', '\romanzipp\QueueMonitor\Controllers\ShowQueueMonitorController')->name('queue-monitor::index');
            Route::delete('monitors/{monitor}', '\romanzipp\QueueMonitor\Controllers\DeleteMonitorController')->name('queue-monitor::destroy');
            Route::delete('purge', '\romanzipp\QueueMonitor\Controllers\PurgeMonitorsController')->name('queue-monitor::purge');
        });