% que.run que is the concurrent, async runtime in the cloud - runtime concurrency anywhere you have a network connection - multilanguage communicating sequential processes - add Go-like channels to any language - connect your microservices together with the simplest possible plumbing - async programming as easy as running two terminal commands HTTP routes on que.run are Golang-like channels with a namespace and a path. For example: `https://que.run/example/path/subpath`. ## download the client There is a simple script `que` that acts as a client you can use to interact with the `que.run` service. Download it to somewhere on your `$PATH` and make it executable: curl https://que.run/_client/python > ~/bin/que chmod +x ~/bin/que que --help The client requires a recent version of Python 3. ## examples Here are some example applications, I will update these in the coming weeks with additional useful scripts. ### desktop notifications Lets say we are running a job that takes a long time, maybe we are compiling or running a large test suite. Instead of watching the terminal until it completes, or flipping back to check on it every so often, we can create a listener that displays a popup notification when the job finishes. In one terminal run the listener: que example/notify --then "notify-send '\que' '\msg'" In some other terminal run the job that takes forever: runtests ; echo "tests are done" | que example/notify - When terminal 2 succeeds, terminal 1 will print "tests are done", then call the `notify-send` command, which displays a notification toast in Linux with title "`example/notify`" and content "`tests are done`". Que paths are multi-producer and multi-consumer, so you can add as many terminals as you want. On macOS you could use: osascript -e 'display notification "\msg" with title "\que"' in place of notify-send. ### ephemeral, serverless chat rooms coming soon... ### collaborative jukebox coming soon...