Skip to content
Discussion options

You must be logged in to vote

I think you got it right.

Even with an event loop, I/O is still happening in parallel, so if your tasks are I/O-bound, they're parallel. If your tasks are CPU-bound, the mechanisms within Procrastinate aren't going to be very helpful but, as you said, launching multiple processes will get you to use all the CPU.

The reason behind this choice is that multiprocessing is hard, and is often the place where a program crosses boundaries that make it more complex to deploy and scale. I felt the mental model of procrastinate was much simpler keeping it as a (mostly) single-threaded, single-processed program.

Note that those points are mentioned here, and here but if it was still confusing to you,…

Replies: 1 comment 14 replies

Comment options

You must be logged in to vote
14 replies
@paulzakin
Comment options

@ewjoachim
Comment options

@paulzakin
Comment options

@ewjoachim
Comment options

@paulzakin
Comment options

Answer selected by paulzakin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants