Tracking information for a single feature extractor job within a tier. Each tier can have multiple extractor jobs running in parallel, one per unique feature_extractor_type. This allows different extractors to have independent: - Resource requirements (GPUs, CPU, memory) - Status tracking and retry logic - Ray job IDs and Celery task IDs - Completion times and performance metrics Example: Tier 1 with collections using different extractors: - col_A: image_extractor - col_B: face_identity_extractor - col_C: image_extractor Creates 2 ExtractorJobInfo instances: 1. extractor_type="image_extractor", collection_ids=["col_A", "col_C"] 2. extractor_type="face_identity_extractor", collection_ids=["col_B"] Lifecycle: 1. Created with status=PENDING when tier is scheduled 2. Updated to IN_PROGRESS when Ray job starts 3. Finalized to COMPLETED/FAILED when Ray job completes
| Name | Type | Description | Notes |
|---|---|---|---|
| extractor_type | str | Feature extractor type (e.g., 'image_extractor', 'face_identity_extractor') | |
| collection_ids | List[str] | Collections processed by this extractor job | [optional] |
| ray_job_id | str | Ray job ID for this extractor job | [optional] |
| celery_task_id | str | Celery task ID that submitted this Ray job | [optional] |
| status | TaskStatusEnum | Current status of this extractor job | [optional] |
| started_at | datetime | When this extractor job started processing | [optional] |
| completed_at | datetime | When this extractor job finished processing | [optional] |
| duration_ms | float | Processing duration in milliseconds | [optional] |
| documents_written | int | Number of documents written by this extractor job | [optional] |
| errors | List[BatchErrorDetail] | Detailed errors from this extractor job | [optional] |
| error | str | OPTIONAL. Simple error message string for quick debugging. Set when the Ray job fails with error details from JobStatusMonitor. For detailed error information, see errors array. | [optional] |
from mixpeek.models.extractor_job_info import ExtractorJobInfo
# TODO update the JSON string below
json = "{}"
# create an instance of ExtractorJobInfo from a JSON string
extractor_job_info_instance = ExtractorJobInfo.from_json(json)
# print the JSON string representation of the object
print(ExtractorJobInfo.to_json())
# convert the object into a dict
extractor_job_info_dict = extractor_job_info_instance.to_dict()
# create an instance of ExtractorJobInfo from a dict
extractor_job_info_from_dict = ExtractorJobInfo.from_dict(extractor_job_info_dict)