NolanChan / message-queue-example

An example of WeDeploy Message Queue

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Deploy

WeDeploy Message Queue

An example of WeDeploy Message Queue.

Instructions

  1. Install the WeDeploy CLI.
  2. Clone this repository.
  3. Open the project with your command line and run we deploy -p yourproject.

API Endpoints

Queue

Create Queue

POST /queues
Parameters
Name Type Required Options
name string The Queue name. Maximum 80 characters; alphanumeric characters, hyphens (-), and underscores (_) are allowed.
delayAfterRead number The length of time, in seconds, that a message received from a queue will be invisible to other receiving components when they ask to receive messages. Allowed values: 0-9999999. Default: 30.
delayBeforeRead number The time in seconds that the delivery of all new messages in the queue will be delayed. Allowed values: 0-9999999. Default: 0.
maxSize string The maximum message size in bytes. Allowed values: 1024-65536. Default: 65536.
Request
curl -X "POST" "/queues" \
     -H 'Content-Type: application/json' \
     -d $'{
  "name": "myqueue",
  "delayAfterRead": 30,
  "delayBeforeRead": 0,
  "maxSize": 66536
}'
Response 200 OK
{
  "result": 1
}

Get a Queue

GET /queues/:name
Query Parameters
Name Type Required Options
name string The Queue name.
Request
curl "/queues/myqueue"
Response 200 OK
{
  "createdAt": 1526067241,
  "delayAfterRead": 30,
  "delayBeforeRead": 0,
  "maxSize": 2048,
  "modifiedAt": 1526067241,
  "total": 0,
  "totalHidden": 0,
  "totalReceived": 0,
  "totalSent": 0
}

Delete a Queue

DELETE /queues/:name
Query Parameters
Name Type Required Options
name string The Queue name.
Request
curl -X "DELETE" "/queues/myqueue"
Response 200 OK
{
  "result": 1
}

List all Queues

GET /queues
Request
curl "/queues"
Response 200 OK
{
  "queues": [
    "myqueue"
  ]
}

Set attributes of Queues

PATCH /queues/:name
Parameters
Name Type Required Options
name string The Queue name. Maximum 80 characters; alphanumeric characters, hyphens (-), and underscores (_) are allowed.
delayAfterRead number The length of time, in seconds, that a message received from a queue will be invisible to other receiving components when they ask to receive messages. Allowed values: 0-9999999.
delayBeforeRead number The time in seconds that the delivery of all new messages in the queue will be delayed. Allowed values: 0-9999999.
maxSize string The maximum message size in bytes. Allowed values: 1024-65536.
Request
curl -X "PATCH" "/queues/myqueue" \
     -H 'Content-Type: application/json' \
     -d $'{
  "maxSize": "66536"
}'
Response 200 OK
{
  "createdAt": 1526067241,
  "delayAfterRead": 30,
  "delayBeforeRead": 0,
  "maxSize": 66536,
  "modifiedAt": 1526067241,
  "total": 0,
  "totalHidden": 0,
  "totalReceived": 0,
  "totalSent": 0
}

Message

Send new message to a Queue

POST /messages/:name
Body Parameters
Name Type Required Options
name string The Queue name. Maximum 80 characters; alphanumeric characters, hyphens (-), and underscores (_) are allowed.
message string The stringified content of the message
delayBeforeRead number The time in seconds that the delivery of the message will be delayed. Allowed values: 0-9999999 (around 115 days). Default: 0.
Request
curl -X "POST" "/messages/myqueue" \
     -H 'Content-Type: application/json' \
     -d $'{
  "message": "Hello World",
  "delayBeforeRead": 10
}'
Response 200 OK
{
  "id": "f0y01ynxe3zAcfhFt15R7ehTwMntN9Zr"
}

Pop next message from a Queue

GET /messages/:name
Query Parameters
Name Type Required Options
name string The Queue name.
keep boolean If true, the message will not be popped (deleted). Default: false
delayAfterRead string Only applicable if keep = true. The length of time, in seconds, that a message received from a queue will be invisible to other receiving components when they ask to receive messages. Allowed values: 0-9999999. Default: 30
total number Pops the total number of messages from the queue
Request
curl "/messages/myqueue?keep=true"
Response 200 OK
{
  "messages": [
    {
      "firstReceivedAt": 1526067405391,
      "id": "f0y1oqi4m5rx73G7BGZjxqQqxBFlnl0N",
      "message": "Blah Blah Blah",
      "sentAt": 1526067404091,
      "totalReceived": 1
    }
  ]
}

About

An example of WeDeploy Message Queue

License:BSD 3-Clause "New" or "Revised" License