blob: b619de76cfe3dd331de179135f1cec6ce139bf92 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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...
|