The Job Management API allows for the management and execution of asynchronous jobs within CDQ services. This API enables the creation, monitoring, and management of jobs, allowing developers to automate and streamline complex workflows and tasks.
Jobs Management API (2)
https://idp.cdq.com/_mock/apis/jobs-management-api/api-v2/
https://job-management-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/soap/v2/
https://job-management-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/
The URL of the Docker image.
Initializes job result storage named resultStorageId. When passed, enables filtering by storageId in job listing. When using job-results-starter shared library, it is obligatory. to pass this param, that must be equal to JobResultsWriteRequest#storageId. When used only to filter jobs, then during job creation, must be set together with feature SKIP_RESULTS_INITIALIZATION.
The type of the job.
| Enum Value | Description |
|---|---|
| AML_MAINTENANCE_JOB | AML maintenance job |
| BANK_DOCUMENT_DATA_INGESTION_JOB | Bank document data ingestion job |
| BANK_TABULAR_DATA_INGESTION_JOB | Bank tabular data ingestion job |
| BANK_TREE_DATA_INGESTION_JOB | Bank tree data ingestion job |
| BANKACCOUNT_DATA_CONFIRMATION_JOB | Bankaccount data confirmation job |
| BANKACCOUNT_DATA_IMPORT_JOB | Bankaccount data import job |
| BANKACCOUNT_DATA_STATISTICS_JOB | Bankaccount data statistics job |
| BANKACCOUNT_DATA_WHITELIST_CURATION_JOB | Bankaccount data whitelist curation job |
| BANKACCOUNT_DATA_WHITELIST_IMPORT_JOB | Bankaccount data whitelist import job |
| BATCH_LOOKUP_JOB | Batch lookup job |
The memory limit. The value should be in megabytes.
The xmx option in java if null then memoryLimit - 200m. The value should be in megabytes.
The memory request. The value should be in megabytes.
The CPU limit. The value should be in cores.
The CPU request. The value should be in cores.
Enables job locking. Prevents from running duplicated jobs of the same locks set.
Checks against NOT FINISHED, CANCELED nor FAILED jobs.
When tag=DATA_MONITOR is provided together with locks, then job is locked only against another DATA_MONITOR jobs.
Example: [ {"key": "jobType", "value": "DATA_CURATION_JOB"}, {"key": "storageId", "value": "87621345678976543245678965432"}, {"key": "dataSourceIds", "value": hash(["dataSourceId1", "dataSourceId2", "dataSourceId3", "dataSourceId4", "dataSourceId5", "dataSourceId6"])} ]
ISO 8601 dates since when the job will become unreachable after the job has finished execution.
Default: 6 months.Min: 7 days from now.Max: 2 years from now.
Uniquely identifying ID of the organization.
Uniquely identifying ID of the workspace.
List of features to be activated.
| Items Enum Value | Description |
|---|---|
| FORCE_DATADOG | Force Datadog. |
| SKIP_RESULTS_INITIALIZATION | Skip results initialization when job is not going to use it. Temporary, until initialization is event-based. |
- Mock server
https://idp.cdq.com/_mock/apis/jobs-management-api/api-v2/v2/jobs
- Production SOAP
https://job-management-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/soap/v2/v2/jobs
- Production
https://job-management-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/v2/jobs
curl -i -X POST \
https://idp.cdq.com/_mock/apis/jobs-management-api/api-v2/v2/jobs \
-H 'Content-Type: application/json' \
-d '{
"commands": [
"command"
],
"dockerImageUrl": "docker-image-url",
"resultStorageId": "35f23c03-1c22-45fe-9484-3ffe769325de",
"domain": "cdqag/data-curation-job",
"environmentVariables": [
{
"key": "STORAGE_ID",
"value": "123456789"
}
],
"jobDependencies": [
{
"id": "35f43c33-1c22-42fe-9984-3ffe750325de",
"strategy": "SCHEDULE_NEXT_WHEN_FINISHED"
}
],
"mainLabel": "My job.",
"labels": [
{
"key": "my label",
"value": "my job"
}
],
"tags": [
"tag"
],
"type": "BANKACCOUNT_DATA_CONFIRMATION_JOB",
"memoryLimit": 1024,
"xmxLimit": 512,
"memoryRequest": 1024,
"cpuLimit": 0.2,
"cpuRequest": 0.1,
"user": "742429-234242-4343-232323",
"volumes": [
{
"mountPath": "/path",
"subPath": "subpath"
}
],
"locks": [
{
"key": "jobType",
"value": "SUBSCRIPTION_FAT_JOB"
}
],
"expiresAt": "2020-09-07T00:00:00Z",
"name": "job-name",
"description": "job-description",
"organizationId": "cdq_monitor",
"workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4",
"features": [
"FORCE_DATADOG"
]
}'OK
Date of modification (ISO 8601-compliant).
Job execution status.
| Enum Value | Description |
|---|---|
| UNKNOWN | Job becomes in unknown status. |
| CREATED | Job has been created. |
| PERSISTED | Job metadata has been persisted. |
| SCHEDULED | Job has been scheduled for execution. |
| WAITING | Job is waiting for being scheduled. |
| RUNNING | Job is being executed. |
| FINISHED | Job has finished. |
| DIED | Job was scheduled and started running but died unexpectedly. |
| CANCELED | Job has been canceled due to invalid input configuration. |
| FAILED | Job has failed. |
Additional information to explain the status.
Job execution status.
| Enum Value | Description |
|---|---|
| UNKNOWN | Job becomes in unknown status. |
| CREATED | Job has been created. |
| PERSISTED | Job metadata has been persisted. |
| SCHEDULED | Job has been scheduled for execution. |
| WAITING | Job is waiting for being scheduled. |
| RUNNING | Job is being executed. |
| FINISHED | Job has finished. |
| DIED | Job was scheduled and started running but died unexpectedly. |
| CANCELED | Job has been canceled due to invalid input configuration. |
| FAILED | Job has failed. |
Unique identifier of the Storage.
Detailed description of a Job.
Uniquely identifying ID of the organization.
Uniquely identifying ID of the workspace.
{ "commands": [ "command" ], "startedAt": "2019-09-07T00:00:00Z", "createdAt": "2020-08-31T16:47+00:00", "modifiedAt": "2020-08-31T16:47+00:00", "finishedAt": "2019-09-07T00:00:00Z", "expiresAt": "2019-09-07T00:00:00Z", "dockerImageUrl": "data-curation", "domain": "cdqag/data-curation-job", "environmentVariables": [ { … } ], "id": "35f23c03-1c22-45fe-9484-3ffe769325de", "inputUri": "input-uri", "jobDependencies": [ { … } ], "jobStatus": "RUNNING", "message": "The job failed because storage is empty.", "mainLabel": "My job.", "labels": [ { … } ], "tags": [ "tag" ], "lastJobStatus": "RUNNING", "progress": "50", "totalItems": "100", "processedItems": "50", "failedItems": "10", "reportUri": "https://link-to-my-report", "resourceRequest": { "memoryLimit": 1024, "memoryRequest": 1024, "cpuLimit": 0.2, "cpuRequest": 0.1, "xmxLimit": 512 }, "user": "742429-234242-4343-232323", "storageId": "72d6900fce6b326088f5d9d91049e3e6", "attachments": [ { … } ], "resultData": "{'param1': 'value1'}", "metrics": [ { … } ], "locks": [ { … } ], "type": "DATA_CURATION_JOB", "volumes": [ { … } ], "name": "Process vendor data.", "description": "I started this job to improve quality of our data.", "organizationId": "cdq_monitor", "workspaceId": "c074b9f3-abf0-4f8e-9a20-74deb6cfa2a4" }
The organizationId parameter set in the job.
The storageId parameter set in the job.
The kind of job described as JobType.
Define the attributes to sort by. Supported are in (createdAt), separated by comma (,). Sort "+" means ascending, "-" means descending. Default sort (when no + or - set) is ascending.
The kind of job described as JobStatus.
| Items Enum Value | Description |
|---|---|
| UNKNOWN | Job becomes in unknown status. |
| CREATED | Job has been created. |
| PERSISTED | Job metadata has been persisted. |
| SCHEDULED | Job has been scheduled for execution. |
| WAITING | Job is waiting for being scheduled. |
| RUNNING | Job is being executed. |
| FINISHED | Job has finished. |
| DIED | Job was scheduled and started running but died unexpectedly. |
| CANCELED | Job has been canceled due to invalid input configuration. |
| FAILED | Job has failed. |
Number of results that should be fetched. Maximum 100 results can be returned in one page.
Treats tags as AND operation. By default, tags are treated as OR operation.
Enable additional features when fetching jobs. Supported features:
NUMBER_OF_TOTAL- sends in response number of total jobs meeting the querying criteriaTAGS_CONJUNCTION- Treats tags as AND operation. By default, tags are treated as OR operation.IGNORE_ORGANIZATION_RESTRICTIONS- allows to read jobs from any organization.
| Items Enum Value | Description |
|---|---|
| NUMBER_OF_TOTAL | Number of totals. |
| TAGS_CONJUNCTION | Tags conjunction. |
| IGNORE_ORGANIZATION_RESTRICTIONS | Ignore organization restrictions. |
- Mock server
https://idp.cdq.com/_mock/apis/jobs-management-api/api-v2/v2/jobs
- Production SOAP
https://job-management-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/soap/v2/v2/jobs
- Production
https://job-management-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/v2/jobs
curl -i -X GET \
https://idp.cdq.com/_mock/apis/jobs-management-api/api-v2/v2/jobs{ "jobs": [ { … } ], "nextStartAfter": "5712566172571652", "total": "67" }
- Mock server
https://idp.cdq.com/_mock/apis/jobs-management-api/api-v2/v2/jobs/types
- Production SOAP
https://job-management-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/soap/v2/v2/jobs/types
- Production
https://job-management-api.reverse-proxy.prod.k8s.production.cdq-cloud-engine.com/v2/jobs/types
curl -i -X GET \
https://idp.cdq.com/_mock/apis/jobs-management-api/api-v2/v2/jobs/types{ "jobs": [ { … } ], "nextStartAfter": "5712566172571652" }