-
Notifications
You must be signed in to change notification settings - Fork 154
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
Feature request: documentation for worker implementations in other languages #286
Comments
+1 for this. @tcwalther I would be keen to collaborate on writing a Python worker implementation. |
Hey @tcwalther, @pyrat, sorry for the delay commenting here! I wasn't sure about what exactly you'd need from here because Solid Queue works and conforms to Active Job, so it sounds like you're asking about writing a queue system compatible with Active Job? |
Hi Rosa, My understanding is that ActiveJob specifies the high-level Ruby interface, whereas every queue implementation manages its own internal structure. When using other languages than Ruby, one obviously cannot use ActiveJob. Instead, I'd need to tie directly into the underlying implementation. |
Ah, got it! In this case, the documentation itself is the code. I made a point of making it very readable and understandable, so I think that'd be the best way to go if you want to build a worker in another language that uses Solid Queue's tables. The internals might change, and keeping such documentation up to date is a maintenance burden that I can't take on, I'm afraid. As a compromise, I've tried to make the code clear and self-explanatory. |
It would be fantastic if a documentation page existed that explained exactly the steps that a third-party library would have to implement to produce a compatible worker.
Use Case
Most ML or scientific code is written in Python. It would be phenomenal if I could trigger Python jobs using SolidQueue in Rails. The Python library would only need to implement a small subset of SolidQueue, enough to pick up a job and process it.
The text was updated successfully, but these errors were encountered: