-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
optimize srv broker and executor logic #630
Conversation
Supper fantastic! Appreciate for your contribution! |
I think the best solution is manually change column of existing table. |
What about letting it be. There're bunch of users or developers who do not even know how to execute SQL. |
rag/svr/task_broker.py
Outdated
tm = findMaxTm(tm_fnm) | ||
rows = collect(tm) | ||
if len(rows) == 0: | ||
try: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As designed, broker is used for dispatching task and updating progress, and executor is for processing task including embedding since we can deploy one executor or multiple executors in different machines to enlarge the document processing through output.
I suggest that:
- remove broker, and put the progress updating function to ragflow_server using multi-thread.
- the executor reads tasks from redis queue and execute them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeap, I'm doing this suggest.
The goal is to make the design simpler.
Hi, adopting redis as a MQ is a good alternative compared with current MySQL. However, redis does not guarantee the durability of data which might lead to task loss. A better solution is to introduce some dedicated MQ system such as redpanda, however it will introduce extra maintainence overhead. We will consider the tradeoff among maintainability, availability, as well as performance. Thanks for your contribution.
|
Got it, I'm going to roll back this change. |
What problem does this PR solve?
Optimize task broker and executor for reduce memory usage and deployment complexity.
Type of change
Change Log