// Example of monitoring the status of an async task
// The logic is same for all async tasks
const response = await client.<async operation>();
// you need to poll this endpoint
const taskResponse = await client.getTask({id: response.task_id})
console.log(taskResponse.status === 'completed');
Asynchronous operations
Certain operations, such as deleting a call or deleting a user, require additional time and processing power. As a result, these operations are executed asynchronously.
These tasks will return a task_id
in the API response, you can use this id to monitor the task status.
Monitoring tasks
You can monitor these tasks using the GetTask
endpoint. Calling this endpoint will provide information such as:
status
: Current status of the task (see statuses below for more details)result
: Result of the task, depending on the nature of the taskerror
: If the task failed, this will contain information about the failure
Task Statuses
The task can have the following statuses:
pending
: Task is pending and not running yetrunning
: Task is running and not completed yetcompleted
: Task is completed and successfully executedfailed
: Task failed during its execution
Example
Asynchronous operations will return an ID, which you can use to monitor the task. Here’s an example:
# Example of monitoring the status of an async task
# The logic is same for all async tasks
response = client.<async operation>()
task_id = response.data.task_id
# get information about the task
task_status = client.get_task(task_id)
# just an example, in reality it can take a few seconds for a task to be processed
if task_status.data.status == "completed":
print(task_status.data.result)
# When an operation is async, a task_id will be included in the API response
# That task_id can be used to monitor the status of the task
# When finished, task status will be completed
curl -X GET https://video.stream-io-api.com/api/v2/tasks/${TASK_ID}?api_key=${API_KEY} \
-H "Authorization: ${TOKEN}" \
-H "stream-auth-type: jwt"