cURL
curl --request POST \
--url http://{host}:{port}/{contextPath}/external-task/{id}/lock \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"workerId": "anId",
"lockDuration": 100000
}
'import requests
url = "http://{host}:{port}/{contextPath}/external-task/{id}/lock"
payload = {
"workerId": "anId",
"lockDuration": 100000
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({workerId: 'anId', lockDuration: 100000})
};
fetch('http://{host}:{port}/{contextPath}/external-task/{id}/lock', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "62437",
CURLOPT_URL => "http://{host}:{port}/{contextPath}/external-task/{id}/lock",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'workerId' => 'anId',
'lockDuration' => 100000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://{host}:{port}/{contextPath}/external-task/{id}/lock"
payload := strings.NewReader("{\n \"workerId\": \"anId\",\n \"lockDuration\": 100000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://{host}:{port}/{contextPath}/external-task/{id}/lock")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"workerId\": \"anId\",\n \"lockDuration\": 100000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://{host}:{port}/{contextPath}/external-task/{id}/lock")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workerId\": \"anId\",\n \"lockDuration\": 100000\n}"
response = http.request(request)
puts response.read_body{
"type": "<string>",
"message": "<string>",
"code": 123
}{
"type": "<string>",
"message": "<string>",
"code": 123
}外部任务
锁定
Lock an external task by a given id for a specified worker and amount of time.
POST
/
external-task
/
{id}
/
lock
cURL
curl --request POST \
--url http://{host}:{port}/{contextPath}/external-task/{id}/lock \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"workerId": "anId",
"lockDuration": 100000
}
'import requests
url = "http://{host}:{port}/{contextPath}/external-task/{id}/lock"
payload = {
"workerId": "anId",
"lockDuration": 100000
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({workerId: 'anId', lockDuration: 100000})
};
fetch('http://{host}:{port}/{contextPath}/external-task/{id}/lock', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "62437",
CURLOPT_URL => "http://{host}:{port}/{contextPath}/external-task/{id}/lock",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'workerId' => 'anId',
'lockDuration' => 100000
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://{host}:{port}/{contextPath}/external-task/{id}/lock"
payload := strings.NewReader("{\n \"workerId\": \"anId\",\n \"lockDuration\": 100000\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("http://{host}:{port}/{contextPath}/external-task/{id}/lock")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"workerId\": \"anId\",\n \"lockDuration\": 100000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://{host}:{port}/{contextPath}/external-task/{id}/lock")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workerId\": \"anId\",\n \"lockDuration\": 100000\n}"
response = http.request(request)
puts response.read_body{
"type": "<string>",
"message": "<string>",
"code": 123
}{
"type": "<string>",
"message": "<string>",
"code": 123
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
The id of the external task.
Body
application/json
The duration to lock the external task for in milliseconds.
Note: Attempting to lock an already locked external task with the same workerId
will succeed and a new lock duration will be set, starting from the current moment.
Mandatory. The ID of the worker who is performing the operation on the external task. If the task is already locked, must match the id of the worker who has most recently locked the task.
Response
Request successful.
⌘I