diff options
author | Ben Sima <ben@bsima.me> | 2020-03-31 11:39:49 -0700 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2020-03-31 12:02:10 -0700 |
commit | 9f3804d5e4f28ea61a8abc856210422ad794b55e (patch) | |
tree | a2f12f2d227cec6bab827feef4ec2e49a5cbf5d0 /Run/Que/index.md | |
parent | 0b0972d31ab263c12d2cba621794bc6e7c3840bf (diff) |
Add Run.Que.Website server
This is a simple website server that uses que.run itself to host the que
webpages.
I had to rename Run.Que to Run.Que.Server because nix was
complaining about Run.Que being both a derivation and an attrset with
Run.Que.Website in it.
Diffstat (limited to 'Run/Que/index.md')
-rw-r--r-- | Run/Que/index.md | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/Run/Que/index.md b/Run/Que/index.md new file mode 100644 index 0000000..b619de7 --- /dev/null +++ b/Run/Que/index.md @@ -0,0 +1,68 @@ +% 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... |