LIST ALL KEYS
: etcdctl --endpoints=localhost:2379 get --prefix --keys-only ''PUT JOB
: etcdctl --endpoints=localhost:2379 put 011 '{"url":"http://www.baidu.com","pattern":" 1"}'
# your etcd executable directory
./etcd
cd cmd/jobDeamon
go run .
cd cmd/worker
go run .
# your etcd executable directory
./etcdctl --endpoints=localhost:2379 put 011 '{"url":"http://www.baidu.com","pattern":" 1"}'
./etcdctl --endpoints=localhost:2379 get --prefix --keys-only ''
This project is bulit for fault tolerance. You can have multiple wokers
and jobDeamons
running, and feel free to
shut them down at any time(eg. shut a worker down when its working; shut a jobDeamon down when it detects a lock release
event).
As long as there are at least one woker and one jobDeamon, every job will be done exactly once.
POST请求
curl --location --request POST 'http://ip:port/update' \
--header 'Content-Type: application/json' \
--data-raw '<body data here>'
请求参数
名称 | 位置 | 类型 | 必选 |
---|---|---|---|
body | body | object | 否 |
» prefix | body | string | 是 |
» endpoint | body | [string] | 是 |
返回结果
- 请求成功
状态码 | 状态码含义 | 说明 |
---|---|---|
200 | StatusOK | 成功 |
- 请求失败
状态码 | 状态码含义 | 说明 |
---|---|---|
400 | StatusBadRequest | 请求结构体解析失败 |
405 | StatusMethodNotAllowed | 请求方法不支持 |
POST请求
curl --location --request POST 'http://ip:port/update' \
--header 'Content-Type: application/json' \
--data-raw '<body data here>'
请求参数
名称 | 位置 | 类型 | 必选 |
---|---|---|---|
body | body | object | 否 |
» endpoint | body | [string] | 是 |
返回结果
- 请求成功
状态码 | 状态码含义 | 说明 |
---|---|---|
200 | StatusOK | 成功 |
- 请求失败
状态码 | 状态码含义 | 说明 |
---|---|---|
400 | StatusBadRequest | 请求结构体解析失败 |
405 | StatusMethodNotAllowed | 请求方法不支持 |
- 完善job的执行逻辑,使用
pattern
作为css selector/xPath来获得网页特定内容 - 为job添加超时机制
ID为160位的二进制数,需要使用16进制表示以节约空间为worker的ID与prefix添加校验为worker添加一个http server,来接受配置变更:prefix变更以及etcd endpoint变更为jobDeamon添加一个http server,来接受配置变更:etcd endpoint变更给出能连上实验室实验节点的ETH Client。尝试部署一个智能合约,然后监听到智能合约的event- 尝试跑一下现有的预言机demo