-
Notifications
You must be signed in to change notification settings - Fork 22
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
remove task queue #205
remove task queue #205
Conversation
Sleeping on this, I think we should not block the removal of the task queue over the issues with the sync endpoints. They were only suggested by me in #183 (comment) to make it more clear that there is blocking behavior. But with this PR, there is no blocking anymore. Even without workers, everything is async. Thus, we can leave the sync endpoints for later. I'll remove them again from this PR and open an issue to fix this later. |
This reverts commit b98f637.
@nenb I'm merging this without waiting for your reply to move on to the other features that build on top of this. Since we are not adding any sync endpoints for now, I'm confident that I didn't break anything. Feel free to comment here or a new issue if you find something that I missed. |
@pmeier Nice work, sorry I haven't been terribly responsive the last few days, I should be back online from tomorrow. From looking through the PR now, the only bit that caught my eye was I'm mentioning this here for future reference. I know you have a bunch of work planned, and this is likely premature optimisation. But perhaps worth keeping in mind ways to mitigate the impact of CPU-heavy workloads in future designs. And also some of the defaults, like the values that are used when starting the API with |
Do you think this is an issue with Ragna? If so, could you write up an issue so I can have a look?
Yeah, I would put it under premature optimization unless we have valid complains about this. And in that case I would maybe go a step further and not just add the subprocess option, but a task queue would also fit nicely in there. |
I don't think it's an issue with |
Closes #183, closes #204. TL;DR this PR gets rid of
huey
/ the task queue. It has been the source of confusion, limited some nice to have features (looking at you #185), and overall made the implementation more complex.Here are the highlights:
huey
as dependencyRenameSee remove task queue #205 (comment)Chat.prepare
andChat.answer
toChat.aprepare
andChat.aanswer
to better reflect theirasync
natureRe-addSee remove task queue #205 (comment)Chat.prepare
andChat.answer
as synchronous versions of theirasync
counterparts.ragna.local_root
function that functions as global configurationragna.local_root
function should be used.async
functions on the components. A regular function will now be run on a separate thread and thus keeping Ragna "async first"ragna.deploy
namespace and move the config, authentication, REST API, and UI implementation to it.config.core
toconfig.components
config.authentication
andconfig.document
I didn't bother to update the documentation properly as we need to have a complete overhaul before the next release anyway.