One thing I'm not sure about with these job queues - how do you handle cases like having to drop down to C++ to do a chunk of work that cannot be done in JS, without blocking the interpreter?
Or would you just submit that work to a separate external process over something like RabbitMQ, and handle the return when its done?