AsyncJob

Back to Vectors

class AsyncJob(id, vector_client=None)[source]

Base class that provides helpers to access information about asynchronous jobs produced when interacting with a FeatureCollection.

refresh()[source]

Refresh the job information.

wait_for_completion(timeout=None)[source]

Wait for a job operation to complete. Copies occur asynchronously and can take a long time to complete. Features will not be accessible in the FeatureCollection until the copy completes.

If the job ran, but failed, a FailedJobError is raised. If a timeout is specified and the timeout is reached, a WaitTimeoutError is raised. A BadRequestError is raised if the job could not begin execution.

Parameters

timeout (int) – Number of seconds to wait before the wait times out. If not specified, will wait indefinitely.

Raises
  • FailedJobError – Raised when the copy job fails to complete successfully.

  • NotFoundError – Raised if the product or status cannot be found.

  • RateLimitError – Raised when too many requests have been made within a given time period.

  • ServerError – Raised when a unknown error occurred on the server.

  • WaitTimeoutError – Raised when the timeout is exceeded before the job completes.

Example

>>> from descarteslabs.vectors import FeatureCollection
>>> aoi_geometry = {
...    'type': 'Polygon',
...    'coordinates': [[[-109, 31], [-102, 31], [-102, 37], [-109, 37], [-109, 31]]]}
>>> fc = FeatureCollection('d1349cc2d8854d998aa6da92dc2bd24')  
>>> fc.filter(geometry=aoi_geometry)  
>>> delete_job = fc.delete_features()  
>>> delete_job.wait_for_completion()  
property created

UTC time that the job was created in ISO 8601 format.

Type

str

property ended

UTC time that the job stopped running in ISO 8601 format.

Type

str

property errors

Rrrors encountered when running the job, if there were any.

Type

list(str)

property started

UTC time that the job started running in ISO 8601 format.

Type

str

property state

The state of the job, possible values are PENDING, RUNNING, DONE, SUCCESS and FAILED.

Type

str

class CopyJob(id, vector_client=None)[source]

Job for copying Features from one FeatureCollection to a new FeatureCollection.

id

The unique identifier for the FeatureCollection the job is creating.

Type

str

state

The state of the job, possible values are``PENDING``, RUNNING, DONE, SUCCESS and FAILED.

Type

str

created

UTC time that the job was created.

Type

datetime

started

UTC time that the job started running.

Type

datetime

ended

UTC time that the job stopped running.

Type

datetime

errors

List of errors encountered when running the job, if there were any.

Type

list(str)

Example

>>> from descarteslabs.vectors.async_job import CopyJob
>>> job = CopyJob('d1349cc2d8854d998aa6da92dc2bd24')      
refresh()[source]

Refresh the job information.

Raises
  • NotFoundError – Raised if the product or status cannot be found.

  • RateLimitError – Raised when too many requests have been made within a given time period.

  • ServerError – Raised when a unknown error occurred on the server.

wait_for_completion(timeout=None)

Wait for a job operation to complete. Copies occur asynchronously and can take a long time to complete. Features will not be accessible in the FeatureCollection until the copy completes.

If the job ran, but failed, a FailedJobError is raised. If a timeout is specified and the timeout is reached, a WaitTimeoutError is raised. A BadRequestError is raised if the job could not begin execution.

Parameters

timeout (int) – Number of seconds to wait before the wait times out. If not specified, will wait indefinitely.

Raises
  • FailedJobError – Raised when the copy job fails to complete successfully.

  • NotFoundError – Raised if the product or status cannot be found.

  • RateLimitError – Raised when too many requests have been made within a given time period.

  • ServerError – Raised when a unknown error occurred on the server.

  • WaitTimeoutError – Raised when the timeout is exceeded before the job completes.

Example

>>> from descarteslabs.vectors import FeatureCollection
>>> aoi_geometry = {
...    'type': 'Polygon',
...    'coordinates': [[[-109, 31], [-102, 31], [-102, 37], [-109, 37], [-109, 31]]]}
>>> fc = FeatureCollection('d1349cc2d8854d998aa6da92dc2bd24')  
>>> fc.filter(geometry=aoi_geometry)  
>>> delete_job = fc.delete_features()  
>>> delete_job.wait_for_completion()  
property created

UTC time that the job was created in ISO 8601 format.

Type

str

property ended

UTC time that the job stopped running in ISO 8601 format.

Type

str

property errors

Rrrors encountered when running the job, if there were any.

Type

list(str)

property started

UTC time that the job started running in ISO 8601 format.

Type

str

property state

The state of the job, possible values are PENDING, RUNNING, DONE, SUCCESS and FAILED.

Type

str

class DeleteJob(id, vector_client=None)[source]

Job for deleting Features from a FeatureCollection

id

The unique identifier for the FeatureCollection whose Features the job id deleting.

Type

str

state

The state of the job, possible values are PENDING, RUNNING, DONE, SUCCESS and FAILED.

Type

str

created

UTC time that the job was created.

Type

datetime

started

UTC time that the job started running.

Type

datetime

ended

UTC time that the job stopped running.

Type

datetime

errors

List of errors encountered when running the job, if there were any.

Type

list(str)

refresh()[source]

Refresh the job information.

Raises
  • NotFoundError – Raised if the product cannot be found.

  • RateLimitError – Raised when too many requests have been made within a given time period.

  • ServerError – Raised when a unknown error occurred on the server.

wait_for_completion(timeout=None)

Wait for a job operation to complete. Copies occur asynchronously and can take a long time to complete. Features will not be accessible in the FeatureCollection until the copy completes.

If the job ran, but failed, a FailedJobError is raised. If a timeout is specified and the timeout is reached, a WaitTimeoutError is raised. A BadRequestError is raised if the job could not begin execution.

Parameters

timeout (int) – Number of seconds to wait before the wait times out. If not specified, will wait indefinitely.

Raises
  • FailedJobError – Raised when the copy job fails to complete successfully.

  • NotFoundError – Raised if the product or status cannot be found.

  • RateLimitError – Raised when too many requests have been made within a given time period.

  • ServerError – Raised when a unknown error occurred on the server.

  • WaitTimeoutError – Raised when the timeout is exceeded before the job completes.

Example

>>> from descarteslabs.vectors import FeatureCollection
>>> aoi_geometry = {
...    'type': 'Polygon',
...    'coordinates': [[[-109, 31], [-102, 31], [-102, 37], [-109, 37], [-109, 31]]]}
>>> fc = FeatureCollection('d1349cc2d8854d998aa6da92dc2bd24')  
>>> fc.filter(geometry=aoi_geometry)  
>>> delete_job = fc.delete_features()  
>>> delete_job.wait_for_completion()  
property created

UTC time that the job was created in ISO 8601 format.

Type

str

property ended

UTC time that the job stopped running in ISO 8601 format.

Type

str

property errors

Rrrors encountered when running the job, if there were any.

Type

list(str)

property started

UTC time that the job started running in ISO 8601 format.

Type

str

property state

The state of the job, possible values are PENDING, RUNNING, DONE, SUCCESS and FAILED.

Type

str