| ▲ | sorenone 3 hours ago | |
The vast majority of tasks you use a job processing framework for are related to io bound side effects: sending emails, interacting with a database, making http calls, etc. Those are hardly impacted by the fact that it's a single thread. It works really well embedded in a small service. You can also easily spawn as many processes running the cli as you like to get multi-core parallelism. It's just a smidge* little more overhead than the process pool backend in Pro. Also, not an expert on Celery. | ||
| ▲ | dec0dedab0de 2 hours ago | parent [-] | |
I use celery when I need to launch thousands of similar jobs in a batch across any number of available machines, each running multiple processes with multiple threads. I also use celery when I have a process a user kicked off by clicking a button and they're watching the progress bar in the gui. One process might have 50 tasks, or one really long task. Edit: I looked into it a bit more, and it seems we can launch multiple worker nodes, which doesn't seem as bad as what I originally thought | ||