Get a Schedule's Execution Status
{ getScheduleExecutionStatus }
Returns the status of a schedule's job executions
Method
/API3/tasks/getScheduleExecutionStatus
- Enterprise Admin
- Domain Admin
- Pro
- Analyst
- Viewer
Input Parameters
Name
executionId
Type
string
Description
The execution's system ID
Output Response
Successful Result Code
200
Response Type
Description of Response Type
An object containing the task status
Examples
Find and Run a scheduled task (JavaScript):
This example demonstrates how to find a item's schedule and then run it programmatically.
The example uses API authentication driven from JavaScript. See Authentication APIs for alternatives.
// URL of the Pyramid installation and the path to the API 3.0 REST methods
var pyramidURL = "http://mysite.com/api3/";
// step 1: authenticate admin account and get token
// NOTE: callApi method is a generic REST method shown below.
let token = callApi("authentication/authenticateUser",{
"userName":"adminUser",
"password":"abc123!"
},"",false);
log("got token "+token);
// step 2: get all the schedules in the system based on name search
let findSchedule= callApi("tasks/findSchedule ",{
"searchCriteria":{
"searchValue":"My Demo Schedule",
"searchMatchType":2
},
"scheduleType":1
},token);
// step 3: extract the schedule ID property from the returned schedule that matches "My Demo Schedule"
let scheduleId = findSchedule[0].scheduleId
// step 4: launch a run of the chosen schedule now, without triggers
let runSchedule = callApi("tasks/runSchedule ",{"scheduleId": scheduleId,"checkTriggers":"false"},token);
if(runSchedule.error!=null){
throw new Error(runSchedule.error);
}
// step 5A: OPTIONAL: get details to check running status of scheduled event. First, get execution ID
let executionId=runSchedule;
//stet 5B: get execution item's status.
let taskData= callApi("tasks/getScheduleExecutionStatus ",executionId ,token);
log("executionId status is "+executionStatus[taskData.status]);
//step 5C: check status every 3 seconds
if(taskData.status!=1){
setTimeout(getStatus,3000);
}
////############ alternative approach #################
//step 6a: get task items in that execution.
let tasks= callApi("tasks/getTasksIds ",executionId,token);
//step 6B: get the ID of the single task in that execution.
let taskId = tasks[0].id
log("got task "+taskId);
//step 6C: get status of the task.
getStatus();
function getStatus(){
let taskData= callApi("tasks/getTaskData ",taskId ,token);
log("task status is "+taskData.status);
if(taskData.status!=1){
setTimeout(getStatus,3000);
}
}
////############ other methods #################
//step 7: pause the schedule
let suspend= callApi("tasks/suspendSchedule",scheduleId, token);
//step 8: restart the schedule
let resume= callApi("tasks/resumeSchedule",scheduleId, token);
// ##### optional generic login method for debugging ##############
function log(msg){
document.write(msg);
console.log(msg);
}
// ##### generic REST API calling method ##############
function callApi(path,data,token="",parseResult=true){
var xhttp = new XMLHttpRequest();
xhttp.open("POST", pyramidURL+path, false);
xhttp.setRequestHeader("paToken",token)
xhttp.send(JSON.stringify(data));
if(parseResult){
return JSON.parse(xhttp.responseText);
}else{
return xhttp.responseText;
}
}
Code Snippets
Use the Authentication API methods to generate an access 'key' or 'token' for use in code as shown below.
TypeScript
Curl
Java
C#
Python
PHP
curl -X POST \
-H "paToken: [[apiKey]]" \
-H "Accept: application/json,application/json;charset=utf-8,text/plain,text/plain;charset=utf-8" \
-H "Content-Type: application/json" \
"http://Your.Server.URL/API3/tasks/getScheduleExecutionStatus" \
-d ''
import com.pyramidanalytics.*;
import com.pyramidanalytics.auth.*;
import com.pyramidanalytics.model.*;
import com.pyramidanalytics.api.TasksServiceApi;
import java.util.*;
import java.time.*;
public class TasksServiceApiExample {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("http://Your.Server.URL/");
// Configure API key authorization: paToken
ApiKeyAuth paToken = (ApiKeyAuth) defaultClient.getAuthentication("paToken");
paToken.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//paToken.setApiKeyPrefix("Token");
// Create an instance of the API class
TasksServiceApi apiInstance = new TasksServiceApi();
// Initialize the executionId parameter object for the call
String executionId = executionId_example; // Create the input object for the operation, type: String
try {
ApiResultTaskStatus result = apiInstance.getScheduleExecutionStatus(executionId);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling TasksServiceApi#getScheduleExecutionStatus");
e.printStackTrace();
}
}
}
import * as PyramidAnalyticsWebApi from "com.pyramidanalytics";
// Create an instance of the API class
const api = new PyramidAnalyticsWebApi.TasksServiceApi("http://Your.Server.URL")
// Configure API key authorization: paToken
api.setApiToken("YOUR API KEY");
const executionId = executionId_example; // {String}
api.getScheduleExecutionStatus(executionId).then(function(data) {
console.log('API called successfully. Returned data: ' + data);
}, function(error) {
console.error(error);
});
using System;
using System.Diagnostics;
using PyramidAnalytics.Sdk.Api;
using PyramidAnalytics.Sdk.Client;
using PyramidAnalytics.Sdk.Model;
public class getScheduleExecutionStatusExample
{
public static void Main()
{
Configuration conf = new Configuration();
conf.BasePath = "http://Your.Server.URL/";
// Configure API key authorization: paToken
conf.ApiKey.Add("paToken", "YOUR_API_KEY");
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// conf.ApiKeyPrefix.Add("paToken", "Bearer");
GlobalConfiguration.Instance = conf;
// Create an instance of the API class
var apiInstance = new TasksServiceApi();
// Initialize the executionId parameter object for the call
var executionId = executionId_example; // Create the input object for the operation, type: String |
try {
// Returns the status of a schedule's job executions
ApiResultTaskStatus result = apiInstance.getScheduleExecutionStatus(executionId);
Debug.WriteLine(result);
} catch (Exception e) {
Debug.Print("Exception when calling TasksServiceApi.getScheduleExecutionStatus: " + e.Message );
}
}
}
import com.pyramidanalytics
from com.pyramidanalytics import ApiException
from com.pyramidanalytics import TasksServiceApi
from pprint import pprint
# Configure API key authorization: paToken
api_config = com.pyramidanalytics.Configuration(host = 'http://Your.Server.URL/', api_key={ paToken:'YOUR_ACCESS_TOKEN' })
with com.pyramidanalytics.ApiClient(api_config) as api_client:
# Create an instance of the API class
api_instance = TasksServiceApi(api_client)
# Initialize the executionId parameter object for the call
executionId = executionId_example # String |
try:
# Returns the status of a schedule's job executions
api_response = api_instance.get_schedule_execution_status(executionId)
pprint(api_response)
except ApiException as e:
print("Exception when calling TasksServiceApi->getScheduleExecutionStatus: %s\n" % e)
<?php
require_once(__DIR__ . '/vendor/autoload.php');
OpenAPITools\Client\Configuration::getDefaultConfiguration()->setHost('http://Your.Server.URL');
// Configure API key authorization: paToken
OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKey('paToken', 'YOUR_API_KEY');
// Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
// OpenAPITools\Client\Configuration::getDefaultConfiguration()->setApiKeyPrefix('paToken', 'Bearer');
// Create an instance of the API class
$api_instance = new OpenAPITools\Client\Api\TasksServiceApi();
$executionId = executionId_example; // String |
try {
$result = $api_instance->getScheduleExecutionStatus($executionId);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling TasksServiceApi->getScheduleExecutionStatus: ', $e->getMessage(), PHP_EOL;
}
?>