milton0825 / plano

Plano - a simple scheduling service

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Plano Logo

Build Status codecov

Plano is a simple scheduling service that allows clients to schedule asynchronous redirected HTTP requests.

API

Plano provides convenient HTTP APIs for client to create, read, update and delete requests.

GET

GET host:port/requests/{requestID} HTTP/1.1

POST

POST host:port/requests HTTP/1.1

{
    "httpRequest":{
        "uri":"uri",
        "payload":"payload",
        "charset":"UTF-8",
        "httpMethod":"POST",
        "headers":{
            "header1":"header1",
            "header2":"header2"
        },
        "connectionTimeoutMs":1000,
        "socketTimeoutMs":1000,
        "connectionRequestTimeoutMs":1000
    },
    "executionTime":"Wed Dec 14 23:34:16 PST 2016",
    "schedulePolicy":{
        "multiplier":1,
        "executionIntervalMs":1000,
        "numberOfExecutions":10
    }
}

PUT

PUT host:port/requests/{requestID} HTTP/1.1

{
    "httpRequest":{
        "uri":"uri",
        "payload":"payload",
        "charset":"UTF-8",
        "httpMethod":"POST",
        "headers":{
            "header1":"header1",
            "header2":"header2"
        },
        "connectionTimeoutMs":1000,
        "socketTimeoutMs":1000,
        "connectionRequestTimeoutMs":1000
    },
    "executionTime":"Wed Dec 14 23:34:16 PST 2016",
    "schedulePolicy":{
        "multiplier":1,
        "executionIntervalMs":1000,
        "numberOfExecutions":10
    }
}

DELETE

DELETE host:port/requests/{requestID} HTTP/1.1

Building Plano from Source

git clone git@github.com:milton0825/plano.git
cd plano
mvn clean install

About

Plano - a simple scheduling service

License:GNU General Public License v3.0


Languages

Language:Java 90.7%Language:Shell 5.4%Language:Batchfile 3.9%