-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Jobs are not being fetched for certain queues #65
Comments
I don't see anything obviously wrong. 🤷🏼♂️ |
@mperham - How can I debug this? Is there any way to get a list of jobs per queue? |
I'm not sure I understand? You can go to the Queues tab and click the name of the queue to view the currently enqueued jobs. You haven't said which Faktory or FWR version you are using - have you checked the changelogs and/or upgraded to the latest to see if that fixes your issue? |
@mperham , FWR version is Faktory server web UI - I see the queue and the jobs. I was trying to call
|
@mperham - Any chance it's related to throttles? It's set for the queue to be 5. I see 0 Free and 0 Taken in the UI. Is there any way to detect if there are some orphan throttled workers? |
Absolutely it could be throttles. You didn't mention that the queue in question had a throttle. |
Enterprise 1.6.
How can I debug leaked throttle tokens?
…On Thu, Oct 21 2021 at 10:07 PM, Mike Perham ***@***.***> wrote:
Absolutely it could be throttles. You didn't mention that the queue in
question had a throttle. 0 Free and 0 Taken is a bad sign, I believe
those two numbers should always add up to 5 in your case. It's possible the
throttle tokens are leaking somehow. What version of Faktory are you
running?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#65 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AANKFFM5GVJB6JZUQ3A23SLUIBQFJANCNFSM5GLFM2MQ>
.
|
The latest release is 1.5.5 so I'm confused. To investigate, you'll need to open up the underlying Redis dataset and inspect the structures. If you have a throttle for queue "foo", the relevant keys are:
Those counts tell me that free and taken are both empty, meaning the tokens within them are gone somehow. If you restart Faktory, it should reset the throttle and restore the missing tokens. Can you show me your throttle configuration? |
@mperham - Thanks. About the release, you can see the Not sure if I did it right, but I wasn't able to get any data for those keys for one of our throttled queues named
Here's a snippet of our throttle configuration:
I will now restart Faktory to see if that solves the issue. |
Restarting Faktory server solved the issue. Now, worths asking what would cause Throttle tokens to be missing. |
A bug of some sort. I will review the code tomorrow. Thanks for confirming.
…On Sun, Oct 24, 2021 at 05:16 Moty Michaely ***@***.***> wrote:
Restarting Faktory server solved the issue. Now, worths asking what would
cause Throttle tokens to be missing.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#65 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAWX7ZELPTP6PDFQRWX53UIP2IXANCNFSM5GLFM2MQ>
.
|
How busy is this queue and throttle? Are you hitting it all the time or will it sit idle for weeks? It's possible for the lock array to expire under you but that requires it to be idle for 30 days... |
The queue doesn't seem to be busy at all. Yes, it's likely to be idle for 30 days. Any way to control it? |
Ok, that's good news and an easy fix. I will extend the TTL to 365 days in the next version. |
Great. Thank you for looking into it! |
We have an issue in which jobs are not being processed.
We are running a Faktory worker in Ruby 2.7.2 using a configuration file:
The
worker.yml
file looks like this:An example:
JobWorker
class:Pushing a job to Faktory:
The job is stuck in the jobs queue. I would expect the job to be processed by the worker.
I suspect it's related to the fact the JobWorker doesn't have a
queue
option but our requirement is to have JobWorker processed by several processes from different queues.What am I missing?
The text was updated successfully, but these errors were encountered: