You can run trigger in your own infra. That has very little to do with the libraries used for your web app
Go has lots of mature in-process queue systems, yet River exists, because in lots of situation it makes perfect sense to have your job queue in its own process
It's missing lots of features like sleeping on waits, warm starts etc.