class TaskService¶



Endpoints that perform expensive computations launch long-running tasks. These endpoints return the task ID (a UUID) in the response body.

After launching a task, periodically invoke the Get a task endpoint with the task UUID (e.g., every 10 seconds), until the status is no longer RUNNING.

You can access a task for up to 30 minutes after its completion, after which its data will no longer be available.


get_by_id(task_id: str) → AsyncTask¶

Get a Task by ID.


wait_for_task(task_id: str, interval_wait_seconds: int = 1, max_wait_seconds: int = 30) → AsyncTask¶

Wait for a task until completion or timeout.

A blocking method which polls the Benchling API and will return an AsyncTask as soon as its status is not RUNNING (in progress). This does not guarantee that the task was successful, only that Benchling has finished executing it.

If max_wait_seconds is exceeded, will raise benchling_sdk.errors.WaitForTaskExpiredError

  • task_id – The ID of the task to poll

  • interval_wait_seconds – time to wait between API calls in seconds

  • max_wait_seconds – maximum wait time in seconds before raising WaitForTaskExpiredError


The completed AsyncTask. Check status for success or failure

Return type