Horizon: One job in the queue is not processed with 'minProcesses = 1'

Created on 23 Sep 2020  路  10Comments  路  Source: laravel/horizon

  • Horizon Version: 4.3.5
  • Laravel Version: 7.28.2
  • PHP Version: 7.4.8
  • Redis Driver & Version: predis/phpredis 5.3.1
  • Database Driver & Version: MariaDB 10.4.12

Description:

I'm experiencing and issue when Horizon is running but has minProcesses set to 0 and 1 job as pushed to the queue.

Steps To Reproduce:

I put 1 job from Tinker to the queue and expected that this job will be handled. Nothing happened, I pushed 2 more jobs into the queue and Horizon started processing.

Please let me know if you need any additional details.

All 10 comments

Hey there,

Unfortunately we don't support this version anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? We'll help you out and re-open this issue if so.

Thanks!

Thanks a lot for such a fast answer!

Hi @driesvints
Sorry for taking your time, but I'm not sure I understand the support policy on this. The link you shared is laravel framework support policy and it says laravel7 will get security fixes till "March 3rd, 2021"

We planned for this change but can't upgrade the horizon to 5th version without laravel8 upgrade since it's indicated here that Laravel 8.0 is now the minimum required version.

So if this is a bug, we can't fix it till we upgrade framework to laravel8. Is that what you mean by the support policy?

Thanks in advance.

This isn't a security fix. That's why the issue isn't supported. In fact, it's not even a bug.

The OP was checking in Tinker and my guess is that because of the magic behind job dispatching (dispatched on __destruct of PendingDispatch), the destructor is called only on the next command (so the job actually is dispatched on the next command of Tinker). If you try this on a simple request, it will work.

This isn't a security fix. That's why the issue isn't supported. In fact, it's not even a bug.

The OP was checking in Tinker and my guess is that because of the magic behind job dispatching (dispatched on __destruct of PendingDispatch), the destructor is called only on the next command (so the job actually is dispatched on the next command of Tinker). If you try this on a simple request, it will work.

makes a lot of sense. Just wanted to understand if support policy is actually following a convention as:

horizon 4.x -> laravel 7.x
horizon 5.x -> laravel 8.x

or not.

@suhaboncukcu Horizon 4.x isn't supported anymore. Only 5.x. See:

For all additional libraries, including Lumen, only the latest release receives bug fixes.

@rustik666 - sorry the only version supported now is the one that is 17 days old, not the one widely used in production.

@rustik666 - I also experienced this issue in v5, and had my Issue closed immediately for not taking the problem to the outsourced Level 1 Help Desk.

@driesvints

Got it, thank you @robj !

@robj this isn't helping anyone. Like I said in the other issue, please be more considerate for project maintainers. You're using free software and you're acting pretty entitled here. We have a support policy in place that clearly states that we only support the latest released major version of our first party packages.

I gave you a reply on the other issue where I tried out your bug but couldn't reproduce it and would appreciate it if you could first try some of the support channels before posting again.

@driesvints cc @rustik666 - sorry @driesvints - I did get a chuckle , Its 2020 - (faux) outrage is quintessential!

Have a good weekend 鉂わ笍

Was this page helpful?
0 / 5 - 0 ratings

Related issues

pmartelletti picture pmartelletti  路  4Comments

marianvlad picture marianvlad  路  5Comments

slavarazum picture slavarazum  路  3Comments

francislavoie picture francislavoie  路  5Comments

crash13override picture crash13override  路  5Comments