Skuld exposes an HTTP interface on a per-node basis. The available endpoints are outlined below.
Where r is the read concern.
Example request
GET /queue/count?r=3 HTTP/1.1
Host: 127.0.0.1:13100
Content-Type: application/jsonExample response
HTTP/1.1 200 OK
Content-Type: application/json
{
"count": 13,
}Where dt is the claim expiry delta from now in milliseconds.
Example request
POST /tasks/claim HTTP/1.1
Host: 127.0.0.1:13100
Content-Type: application/json
{
"dt": 300
}Example response
HTTP/1.1 200 OK
Content-Type: application/json
{
"task": {
"claims": [
{
"completed": null,
"end": 1387126824854,
"start": 1387126814854
}
],
"id": "AAABQvcd+CGAAAABrYuJIPwyloY=",
"data": "foobar"
}
}Where w is the write concern and cid is the claim id, i.e.
Example request
POST /tasks/complete/AAABQvcd+CGAAAABrYuJIPwyloY=?w=3 HTTP/1.1
Host: 127.0.0.1:13100
Content-Type: application/json
{
"cid": q
}Example response
HTTP/1.1 200 OK
Content-Type: application/json
{
"w": 3
}Example request
GET /tasks/count HTTP/1.1
Host: 127.0.0.1:13100
Content-Type: application/jsonExample response
HTTP/1.1 200 OK
Content-Type: application/json
{
"count": 13,
"partitions": {
"skuld_7": 2,
"skuld_6": 0,
"skuld_5": 1,
"skuld_4": 0,
"skuld_3": 0,
"skuld_2": 0,
"skuld_1": 6,
"skuld_0": 4
}
}Where w is the write concern and task is the task-related data object.
Example request
POST /tasks/enqueue HTTP/1.1
Host: 127.0.0.1:13100
Content-Type: application/json
{
"task": {
"data": "foobar"
},
"w": 3
}Example response
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "AAABQvcd+CGAAAABrYuJIPwyloY=",
"n": 3
}Example request
GET /tasks/list HTTP/1.1
Host: 127.0.0.1:13100
Content-Type: application/jsonExample response
HTTP/1.1 200 OK
Content-Type: application/json
{
"tasks": [
{
"claims": [],
"id": "AAABQvcd+CGAAAABrYuJIPwyloY=",
"data": "foobar"
},
...
]
}Where r is read concern.
Example request
GET /tasks/AAABQvcd+CGAAAABrYuJIPwyloY=?r=3 HTTP/1.1
Host: 127.0.0.1:13100
Content-Type: application/jsonExample response
HTTP/1.1 200 OK
Content-Type: application/json
{
"task": {
"claims": [],
"id": "AAABQvcd+CGAAAABrYuJIPwyloY=",
"data": "foobar"
},
"n": 3
}