laravel / horizon

Dashboard and code-driven configuration for Laravel queues.
https://laravel.com/docs/horizon
MIT License
3.85k stars 645 forks source link

Dashboard losing data on refresh #510

Closed danielfaulknor closed 5 years ago

danielfaulknor commented 5 years ago

When I load up Horizon for the first time, I see the full dashboard. Overview, Current Workload, List of Supervisors. This is with all queues empty.

If I add some jobs, and then refresh the page, Current Workload goes away, and on 1/2 refreshes, the Overview is all zeros and even the polling doesn't fill it in.

Is it intended for Current Workload not to load when there are jobs in the queue? I'm guessing not.

Laravel 5.7 on PHP7.2 running in the "local" environment with separate web, queue, redis and database VMs.

I can see the AJAX requests and they appear to have the correct data.

Empty queues: [{"name":"bulk-email","length":0,"wait":0,"processes":1},{"name":"default","length":0,"wait":0,"processes":1},{"name":"high","length":0,"wait":0,"processes":1},{"name":"low","length":0,"wait":0,"processes":1},{"name":"medium","length":0,"wait":0,"processes":1}]

Medium queue processing: [{"name":"bulk-email","length":0,"wait":0,"processes":1},{"name":"default","length":0,"wait":0,"processes":1},{"name":"high","length":0,"wait":0,"processes":1},{"name":"low","length":0,"wait":0,"processes":1},{"name":"medium","length":809,"wait":7,"processes":1}]

With the queue processing, Current Workload stays at 0 jobs, and then vanishes on manual page refresh.

There are no JavaScript errors in the browser console.

driesvints commented 5 years ago

Hi there,

Looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

danielfaulknor commented 5 years ago

@driesvints can you please explain how this is a support question and not a bug? It would help me in getting the support. It definitely feels like a bug. It's unexpected behaviour and does not seem to be intended (not mentioned in docs)

I've asked on Discord, Larachat and the Laracasts forums and got no responses.

driesvints commented 5 years ago

Heya. So what I suspect that's happening is that your current workload is empty because at that time there isn't anything on your queue. Your job is either still being pushed or already been taken care of. Please note that "current workload" only displays jobs which are waiting to be processed.

danielfaulknor commented 5 years ago

Hello. Thanks for the response! The current workload card goes away completely when there are jobs. It's there when there are none. This is what it looks like with no jobs - https://imgur.com/NEikrJ1 Then as soon as I submit jobs - https://imgur.com/jwAd0vF I can see from the logs and also the JSON response from the AJAX queries that there are many hundreds of jobs in the queues.

Also with manual page refreshes, it goes from https://imgur.com/X4qCZEK to https://imgur.com/gBOpAoB at random

driesvints commented 5 years ago

Can you link to the Laracasts forum post?

danielfaulknor commented 5 years ago

https://laracasts.com/discuss/channels/laravel/horizon-dashboard-issue-with-current-workload

hylke94 commented 4 years ago

Can this issue be opened again? I have the same in our app. We run import jobs from an old MongoDB to our new MySQL.

Most of the time it shows only this: image

There is a whole import queue with up to one million jobs sometimes. But even if there is as many as lets say 10 jobs, the queue does not come back in the dashboard.. image

Can someone please look at this issue?

danielfaulknor commented 4 years ago

@driesvints 3 of us reporting this issue now (please see the Laracasts forum for the 3rd)

driesvints commented 4 years ago

@danielfaulknor did you republish the assets? Are you at the latest horizon/laravel version?

hylke94 commented 4 years ago

@danielfaulknor did you republish the assets? Are you at the latest horizon/laravel version?

I work on latest versions of all packages. Product is still in development. And didn't publish the Horizon assets..

rocramer commented 4 years ago

You did and you should republish them after each upgrade: https://laravel.com/docs/6.x/horizon#upgrading

hylke94 commented 4 years ago

I didn't publish them at all. So vendor versions are used.. ;)

driesvints commented 4 years ago

@hylke94 the publishing of the assets is a step in the install guide: https://laravel.com/docs/6.x/horizon#installation

hylke94 commented 4 years ago

Hmm, good point. It of course needs the css and js in the public folder.. I run the asset command tomorrow first thing (and check the diffs ;p). Need to wait for our next import/export. But will be looking for any weird issues ;).

Maybe it can be added as command in the composer json install/update commands section? It is only one command for both functions, but easily forgotten to run ;).

driesvints commented 4 years ago

There's an issue about that here: https://github.com/laravel/horizon/issues/554

talovicnedim commented 3 years ago

I get something similar but still, I'm not able to replicate it. Note that:

  1. I use Docker

  2. Every Docker container has the same HORIZON_PREFIX and REDIS_PREFIX

  3. Queues are processing correctly.

The problem I experience is I can't see queues listed in the Current Workload. It happens after a while. If I restart a container then everything will be good for some time.

If I scroll down a bit, I can see this:

Screenshot 2020-12-25 at 19 18 36

However, when I push it into the queue I can't see it, but it will be listed in the Completed Jobs section. Processing definitely works.

Also, php artisan horizon:status says that Horizon is running.

Screenshot 2020-12-25 at 19 44 47

But, artisan horizon:supervisors won't show anything.

Do you think it might be a bug or something related to me? @driesvints

p.s. In my docker-compse.yml I have:

entrypoint: php /var/www/html/artisan horizon.

p.p.s. I use Swarm for orchestration.

EDIT: Yes, I tried to open the container and execute php artisan horizon:install.

sthales commented 1 year ago

I get something similar but still, I'm not able to replicate it. Note that:

  1. I use Docker
  2. Every Docker container has the same HORIZON_PREFIX and REDIS_PREFIX
  3. Queues are processing correctly.

The problem I experience is I can't see queues listed in the Current Workload. It happens after a while. If I restart a container then everything will be good for some time.

If I scroll down a bit, I can see this:

Screenshot 2020-12-25 at 19 18 36

However, when I push it into the queue I can't see it, but it will be listed in the Completed Jobs section. Processing definitely works.

Also, php artisan horizon:status says that Horizon is running.

Screenshot 2020-12-25 at 19 44 47

But, artisan horizon:supervisors won't show anything.

Do you think it might be a bug or something related to me? @driesvints

p.s. In my docker-compse.yml I have:

entrypoint: php /var/www/html/artisan horizon.

p.p.s. I use Swarm for orchestration.

EDIT: Yes, I tried to open the container and execute php artisan horizon:install.

I do have the same issue. Did you managed to fix it?

deepesharora commented 8 months ago

@danielfaulknor did you ever find a solution to your problem? i'm seeing the exat same issues as you all...

danielfaulknor commented 8 months ago

@deepesharora Nope!

vladamir commented 5 months ago

Check config horizon.php, your environment should be in environments array.

deepesharora commented 5 months ago

Thank you. It was a configuration issue on my end


NOTICE - CONFIDENTIAL INFORMATION

The information in this communication is privileged and strictly confidential. It is intended solely for the use of the individual or entity named above. If the reader of this message is not the intended recipient, or the employee or agent responsible to deliver it to the intended recipient, any dissemination, distribution, copying or other use of the information contained in this communication is strictly prohibited. If you have received this communication in error, please first notify the sender immediately and then delete this communication from all data storage devices and destroy all hard copies.

On Apr 25, 2024 at 06:56, vladamir @.***> wrote:

Check config horizon.php, your environment should be in environments array.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>