Project Execution

Project Execution

Once your project has been created, it can be queued for execution.

Submitting a Job

To submit your project for execution, you need to perform a POST to the Job resource endpoint.
The body should just contain one field:

{
    "active": true
}

and the HTTP command should look like this:

POST /projects/$P/versions/$V/job

and it should return a result like this:

{
  "data": {
    "airflow_data": null,
    "job_type": "STREAMX",
    "streamx_data": {
      "created_ts": "2019-08-06T20:57:19.560444+00:00",
      "id": "5d4be147-c552-4c67-b921-b20efa0f701d",
      "parent_id": null,
      "target": {
        "order_owner_id": "carsdemo-J9fUyV-1.0.0",
        "requester_id": "PROTEUS"
      },
      "task_config": {},
      "task_input": [],
      "task_ref": "SEARCH___default",
      "worker_spec": null
    }
  },
  "status": 201
}

A status 201 denotes that your job has been successfully submitted to the system.

Monitoring Execution

Your project's algorithm(s) and AOI(s) are the major factors in determining how long it will take
for your project to complete: most projects can be expected to take several hours or more as they
proceed through a series of steps, including data ordering and retrieval, object detection via
computer vision, and summarizing the raw measurements into meaningful results.

Whether you are an owner or a collaborator of a project that was submitted to the system, you will get an email notification whenever results are ready to be explored.

Additionally, if you perform a GET operation on your project at /projects/P, the stage field in the returned Project resource will indicate the status of your project. The values for this field
include:

  • NOT_STARTED
  • RUNNING
  • COMPLETED
  • FAILURE

You can easily write a script to poll your project every 15 minutes or so, waiting for the
stage field to have the value COMPLETED: when it does, the results from your project are
ready to be retrieved.