<!-- # hard line break macro for HTML -->

# fiftyone.factory.repos.delegated_operation

FiftyOne delegated operation repository.

Copyright 2017-2026, Voxel51, Inc.
<br/>
[voxel51.com](https://voxel51.com/)
<br/>
<br/>

**Classes:**

| [`DelegatedOperationRepo`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo)()                       | Base Class for a delegated operation repository.   |
|------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------|
| [`MongoDelegatedOperationRepo`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo)([collection]) |                                                    |

### *class* fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo

Bases: `object`

Base Class for a delegated operation repository.

**Methods:**

| [`queue_operation`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.queue_operation)(\*\*kwargs)                             | Queue an operation to be executed by a delegated operator.     |
|-------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------|
| [`add_child_error`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.add_child_error)(parent_id, child_id, ...)               | Add an error message for a child operation to its parent.      |
| [`update_run_state`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.update_run_state)(_id, run_state[, result, ...])        | Update the run state of an operation.                          |
| [`update_progress`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.update_progress)(_id, progress)                          | Update the progress of an operation.                           |
| [`get_queued_operations`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.get_queued_operations)([operator, dataset_name])   | Get all queued operations.                                     |
| [`get_scheduled_operations`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.get_scheduled_operations)([operator, ...])      | Get all scheduled operations.                                  |
| [`get_running_operations`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.get_running_operations)([operator, dataset_name]) | Get all running operations.                                    |
| [`list_operations`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.list_operations)([operator, dataset_name, ...])          | List all operations.                                           |
| [`archive_operation`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.archive_operation)(_id)                                | Archive an operation.                                          |
| [`unarchive_operation`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.unarchive_operation)(_id)                            | Unarchive an operation.                                        |
| [`delete_operation`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.delete_operation)(_id)                                  | Delete an operation.                                           |
| [`delete_for_dataset`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.delete_for_dataset)(dataset_id)                       | Delete an operation.                                           |
| [`set_pinned`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.set_pinned)(_id[, pinned])                                    | Sets the pinned flag on / off.                                 |
| [`set_label`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.set_label)(_id, label)                                         | Sets the label for the delegated operation.                    |
| [`get`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.get)(_id)                                                            | Get an operation by id.                                        |
| [`count`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.count)([filters, search])                                          | Count all operations.                                          |
| [`ping`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo.ping)(_id)                                                          | Updates the updated_at field of an operation to keep it alive. |

#### queue_operation(\*\*kwargs: Any) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Queue an operation to be executed by a delegated operator.

#### add_child_error(parent_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId) | str, child_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId) | str, error_message: str) → None

Add an error message for a child operation to its parent.

#### update_run_state(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId), run_state: [ExecutionRunState](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState) | None, result: [ExecutionResult](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionResult) | None = None, run_link: str | None = None, progress: [ExecutionProgress](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionProgress) | None = None, required_state: [ExecutionRunState](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState) | None = None, monitored: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = False) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Update the run state of an operation.

#### update_progress(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId), progress: [ExecutionProgress](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionProgress)) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Update the progress of an operation.

#### get_queued_operations(operator: str = None, dataset_name=None) → List[[DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)]

Get all queued operations.

#### get_scheduled_operations(operator: str = None, dataset_name=None) → List[[DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)]

Get all scheduled operations.

#### get_running_operations(operator: str = None, dataset_name=None) → List[[DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)]

Get all running operations.

#### list_operations(operator: str = None, dataset_name: str = None, dataset_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId) = None, run_state: [ExecutionRunState](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState) = None, delegation_target: str = None, pinned: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = None, paging: [DelegatedOperationPagingParams](fiftyone.factory.md#fiftyone.factory.DelegatedOperationPagingParams) = None, search: dict = None, include_archived: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = False, \*\*kwargs: Any) → List[[DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)]

List all operations.

#### archive_operation(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId)) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Archive an operation.

#### unarchive_operation(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId)) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Unarchive an operation.

#### delete_operation(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId)) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Delete an operation.

#### delete_for_dataset(dataset_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId))

Delete an operation.

#### set_pinned(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId), pinned: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = True) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Sets the pinned flag on / off.

#### set_label(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId), label: str) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Sets the label for the delegated operation.

#### get(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId)) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Get an operation by id.

#### count(filters: dict = None, search: dict = None) → int

Count all operations.

#### ping(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId))

Updates the updated_at field of an operation to keep it alive.

* **Parameters:**
  **\_id** – the operation ID

### *class* fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo(collection: [Collection](https://pymongo.readthedocs.io/en/stable/api/pymongo/collection.html#pymongo.collection.Collection) = None)

Bases: [`DelegatedOperationRepo`](#fiftyone.factory.repos.delegated_operation.DelegatedOperationRepo)

**Attributes:**

| [`COLLECTION_NAME`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.COLLECTION_NAME)   |    |
|----------------------------------------------------------------------------------------------------------------|----|
| [`required_props`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.required_props)     |    |

**Methods:**

| [`queue_operation`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.queue_operation)(\*\*kwargs)                             | Queue an operation to be executed by a delegated operator.     |
|------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------|
| [`set_pinned`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.set_pinned)(_id[, pinned])                                    | Sets the pinned flag on / off.                                 |
| [`set_label`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.set_label)(_id, label)                                         | Sets the label for the delegated operation.                    |
| [`add_child_error`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.add_child_error)(parent_id, child_id, ...)               | Add an error message for a child operation to its parent.      |
| [`update_run_state`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.update_run_state)(_id, run_state[, result, ...])        | Update the run state of an operation.                          |
| [`update_progress`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.update_progress)(_id, progress)                          | Update the progress of an operation.                           |
| [`get_queued_operations`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.get_queued_operations)([operator, dataset_name])   | Get all queued operations.                                     |
| [`get_scheduled_operations`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.get_scheduled_operations)([operator, ...])      | Get all scheduled operations.                                  |
| [`get_running_operations`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.get_running_operations)([operator, dataset_name]) | Get all running operations.                                    |
| [`list_operations`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.list_operations)([operator, dataset_name, ...])          | List all operations.                                           |
| [`archive_operation`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.archive_operation)(_id)                                | Archive an operation.                                          |
| [`unarchive_operation`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.unarchive_operation)(_id)                            | Unarchive an operation.                                        |
| [`delete_operation`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.delete_operation)(_id)                                  | Delete an operation.                                           |
| [`delete_for_dataset`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.delete_for_dataset)(dataset_id)                       | Delete an operation.                                           |
| [`get`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.get)(_id)                                                            | Get an operation by id.                                        |
| [`count`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.count)([filters, search])                                          | Count all operations.                                          |
| [`ping`](#fiftyone.factory.repos.delegated_operation.MongoDelegatedOperationRepo.ping)(_id)                                                          | Updates the updated_at field of an operation to keep it alive. |

#### COLLECTION_NAME *= 'delegated_ops'*

#### required_props *= ['operator', 'delegation_target', 'context', 'label']*

#### queue_operation(\*\*kwargs: Any) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Queue an operation to be executed by a delegated operator.

#### set_pinned(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId), pinned: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = True) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Sets the pinned flag on / off.

#### set_label(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId), label: str) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Sets the label for the delegated operation.

#### add_child_error(parent_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId) | str, child_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId) | str, error_message: str) → None

Add an error message for a child operation to its parent.

#### update_run_state(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId), run_state: [ExecutionRunState](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState) | None, result: [ExecutionResult](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionResult) | None = None, run_link: str | None = None, progress: [ExecutionProgress](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionProgress) | None = None, required_state: [ExecutionRunState](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState) | None = None, monitored: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = False) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Update the run state of an operation.

#### update_progress(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId), progress: [ExecutionProgress](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionProgress)) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Update the progress of an operation.

#### get_queued_operations(operator: str = None, dataset_name: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId) = None) → List[[DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)]

Get all queued operations.

#### get_scheduled_operations(operator: str = None, dataset_name: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId) = None) → List[[DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)]

Get all scheduled operations.

#### get_running_operations(operator: str = None, dataset_name: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId) = None) → List[[DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)]

Get all running operations.

#### list_operations(operator: str = None, dataset_name: str = None, dataset_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId) = None, run_state: [ExecutionRunState](fiftyone.operators.executor.md#fiftyone.operators.executor.ExecutionRunState) = None, delegation_target: str = None, pinned: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = None, paging: [DelegatedOperationPagingParams](fiftyone.factory.md#fiftyone.factory.DelegatedOperationPagingParams) = None, search: dict = None, include_archived: [bool](fiftyone.core.stages.md#fiftyone.core.stages.Exists.bool) = False, \*\*kwargs: Any) → List[[DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)]

List all operations.

#### archive_operation(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId)) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Archive an operation.

#### unarchive_operation(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId)) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Unarchive an operation.

#### delete_operation(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId)) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Delete an operation.

#### delete_for_dataset(dataset_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId))

Delete an operation.

#### get(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId)) → [DelegatedOperationDocument](fiftyone.factory.repos.delegated_operation_doc.md#fiftyone.factory.repos.delegated_operation_doc.DelegatedOperationDocument)

Get an operation by id.

#### count(filters: dict = None, search: dict = None) → int

Count all operations.

#### ping(\_id: [ObjectId](https://pymongo.readthedocs.io/en/stable/api/bson/objectid.html#bson.objectid.ObjectId))

Updates the updated_at field of an operation to keep it alive.

* **Parameters:**
  **\_id** – the operation ID
