mrhan1993 / FooocusAPI

Fooocus with fastapi
https://mrhan1993.github.io/docs
GNU General Public License v3.0
17 stars 4 forks source link

[Feature Request/Question]: why not keep job queue #30

Closed BaiMoHan closed 1 month ago

BaiMoHan commented 1 month ago

Is there an existing issue for this?

What would your feature do?

Generating one image takes a few seconds. The job queue keeps the server status healthy even when the client invokes multiple requests at once.

Proposed workflow

Just a question.

Additional information

I have read the documentation at Fooocus-API, which recommended this repository. I would prefer to use Fooocus-API instead of this.

mrhan1993 commented 1 month ago

Actually, I don't quite understand what you mean. You can still create an asynchronous task through 'async_process' without blocking the server. Both Fooocus-API and Foocus maintain a list in memory to implement task queues, which is no different.

BaiMoHan commented 1 month ago

Actually, I don't quite understand what you mean. You can still create an asynchronous task through 'async_process' without blocking the server. Both Fooocus-API and Foocus maintain a list in memory to implement task queues, which is no different.

I am confused about the README.

README: You can find a guide here if you were using the previous API project.

It mentions the removal of the task queue, and that it will no longer maintain a separate queue.

After reading the above, I think one of the repositories has removed the task queue. I have used the previous repository (fooocus-api) and I know that it had a task queue. So, I believe this repository may have removed the task queue as well. I apologize for not taking the time to review your code earlier. I am using fooocus-api repo now.

mrhan1993 commented 1 month ago

Actually, I don't quite understand what you mean. You can still create an asynchronous task through 'async_process' without blocking the server. Both Fooocus-API and Foocus maintain a list in memory to implement task queues, which is no different.

I am confused about the README.

README: You can find a guide here if you were using the previous API project.

It mentions the removal of the task queue, and that it will no longer maintain a separate queue.

After reading the above, I think one of the repositories has removed the task queue. I have used the previous repository (fooocus-api) and I know that it had a task queue. So, I believe this repository may have removed the task queue as well. I apologize for not taking the time to review your code earlier. I am using fooocus-api repo now.

Sorry, Let me explain this problem to you, In Fooocus, you can see a list defined on line 17 in async_worker.py, which is processed through a loop at the end of the file.

In Fooocus-API, there is also a queue defined in task_queue.

Fooocus-API achieves this by taking most of the code from async_worker.py and rewriting some of it in worker.py.

The removal of the queue that I'm referring to is about getting rid of the queue defined in task_queue and directly using the queue from async_worker.py.

The biggest benefit is that I can track upstream updates more quickly, because I have work, so limited time on this project.

BaiMoHan commented 1 month ago

Okay, I understand. Yeah, it's not easy to maintain an open-source repository while working during the day.