schedules

Schedule a data loading process

After you have deployed your processes to your GoodData project, you can schedule execution of them.</br> </br> This API call creates schedules for both regular and ADD data loading processes. For more information about Automated Data Distribution (ADD), see Automated Data Distribution. </br>

You can also schedule a data loading process via the Data Integration Console.

</br>

Schedule properties: </br>

  • name (string) - The name of the schedule
  • type (string) - The type of the process; always set to MSETL
  • state (string) - The state of the process; can be ENABLE or DISABLE
  • timezone (string) - Affects all times related to the scheduling
  • reschedule (number) - The number of minutes after which a schedule is rescheduled when the last execution ended with a status of ERROR
  • cron (string) - The expression that defines when the schedule will be executed
  • triggerScheduleId (string) - ID of the schedule that will trigger execution of this schedule</br> NOTE: You can set either cron or triggerScheduleId, not both. If neither cron nor triggerScheduleId is set, the schedule does not run at any specified time and can be executed only manually: via the Data Integration Console or the API.
  • params (object) - Schedule parameters set for specific purposes
    • Common parameters
      • PROCESS_ID (string) - ID of the process
    • For ADD (Automated Data Distribution) processes only
      • GDC_DATALOAD_DATASETS (array) - Specifies datasets to import data to. For example: [{"dataset":"dataset.productDetails","uploadMode":"FULL"},{"dataset":"dataset.sales","uploadMode":"INCREMENTAL"}] In this example, the data of the dataset sales is uploaded in mode INCREMENTAL, and the data of the dataset productDetails is uploaded in mode FULL.
      • GDC_DE_SYNCHRONIZE_ALL (string) - If true, uploads data to all mapped datasets at runtime. Otherwise, uploads data to the datasets specified in the DATALOAD_DATASETS parameter.
      • queryParallelism (number) - Specifies how many queries will be executed in parallel. If not set, defaults to 1, which means that datasets will be uploaded one by one sequentially.</br> NOTE: This parameter is in beta release. Use it with caution. Currently, the only supported value apart from the default is 2 (two datasets are uploaded in parallel, which speeds up the uploading process). To override this parameter in a schedule during its execution, set it explicitly when using the API for executing a schedule.
    • For CloudConnect and Ruby processes
      • EXECUTABLE (string) - The path to the graph or Ruby script
      • OPTIONAL_PARAM (string) - Any optional parameter with any name used as input for a running graph or Ruby script
  • hiddenParams (object) - Optional parameters used to pass sensitive information (for example, passwords)</br>

This is a sample request for creating a process of the ETL type (Automated Data Distribution v2).

{
    "schedule" : {
        "type" : "MSETL",
        "timezone" : "UTC",
        "cron" : "0 15 27 7 *",
        "params": {
            "PROCESS_ID" : "{process_id}",
            "GDC_DATALOAD_DATASETS" : [
                {
                    "dataset": "dataset.example1",
                    "uploadMode": "FULL"
                },
                {
                    "dataset": "dataset.example2",
                    "uploadMode": "INCREMENTAL"
                }
            ],
            "GDC_DE_SYNCHRONIZE_ALL" : "false",
            "PARAM1_NAME" : "PARAM1_VALUE",
            "PARAM2_NAME" : "PARAM2_VALUE"
        },
        "hiddenParams" : {
            "HPARAM1_NAME" : "HPARAM1_VALUE",
            "HPARAM2_NAME" : "HPARAM2_VALUE"
        }
    }
}
post/gdc/projects/{projectId}/schedules

Request

  • Base URL
    https://secure.gooddata.com
  • Auth
    none declared

Request body

Example request

{
  "schedule": {
    "alias": "descriptive_name_of_schedule_123",
    "name": "MSETL",
    "type": "MSETL",
    "params": {
      "PROCESS_ID": "{process_id}",
      "EXECUTABLE": "Twitter/graph/twitter.grf"
    },
    "cron": "0 0 * * *",
    "triggerScheduleId": "{triggerScheduleId}",
    "timezone": "UTC"
  }
}

Response

Created - creates a new schedule

Example response

{
  "schedule": {
    "alias": "descriptive_name_of_schedule_123",
    "name": "MSETL",
    "type": "MSETL",
    "params": {
      "PROCESS_ID": "{process_id}",
      "EXECUTABLE": "Twitter/graph/twitter.grf"
    },
    "cron": "0 0 * * *",
    "triggerScheduleId": "{triggerScheduleId}",
    "timezone": "UTC",
    "lastExecution": {
      "execution": {
        "createdTime": "2013-11-14T00:00:40.355Z",
        "startTime": "2013-11-15T00:00:40.355Z",
        "endTime": "2013-11-15T00:00:49.030Z",
        "log": "/gdc/projects/{project_id}/dataload/processes/{process_id}/executions/{execution_id}/log",
        "proxyHost": "na-apiproxy.com",
        "data": "{data}",
        "status": "OK",
        "error": {},
        "links": {
          "self": "/gdc/projects/{project_id}/schedules/{schedule_id}/executions/{schedule_execution_id}"
        }
      }
    },
    "ownerLogin": "{ownerLogin}",
    "lastSuccessful": {
      "execution": {
        "createdTime": "2013-11-14T00:00:40.355Z",
        "startTime": "2013-11-15T00:00:40.355Z",
        "endTime": "2013-11-15T00:00:49.030Z",
        "log": "/gdc/projects/{project_id}/dataload/processes/{process_id}/executions/{execution_id}/log",
        "proxyHost": "na-apiproxy.com",
        "data": "{data}",
        "status": "OK",
        "error": {},
        "links": {
          "self": "/gdc/projects/{project_id}/schedules/{schedule_id}/executions/{schedule_execution_id}"
        }
      }
    },
    "nextExecutionTime": "2013-11-16T00:00:00.000Z",
    "links": {
      "executions": "/gdc/projects/{project_id}/schedules/{schedule_id",
      "self": "/gdc/projects/{project_id}/schedules/{schedule_id}/executions"
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.