3 ms·
> Languages with proper concurrency like JVM, BEAM, or Go don't require Sidekiq or Celery queues This author needs to understand with web/api programming, even
by welder 3y ago
> Languages with proper concurrency like JVM, BEAM, or Go don't require Sidekiq or Celery queues
This author needs to understand with web/api programming, even using JVM, Go, etc still require Celery/Sidekiq/WakaQ for siloing. You don't want some developer using Go to hog 100% of all webserver CPU doing something concurrently but which should have been done on a background server.
- quaunaut 3y agoNo, you don't require those things. If you're using the proper primitives, they literally can't hog 100% of the server CPU. In fact, the default concurrency primitives in the BEAM/Go do not hog 100% of the CPU, meaning you literally have to go out of your way to fuck it up. This makes a difference, and means you do not require queues for properly silo'd background tasks.
- mperham 3y agoAs the author of Sidekiq, I'd very strongly disagree. The key thing you are missing in those systems is long-term error handling. What happens if the remote side goes down for a few hours? This is the purpose of *persistent* background jobs: resiliency in the face of a wild west Internet.