JobStatus
API reference for JobStatus
JobStatus
Status values for asynchronous job operations in Fiddler.
This enum defines the possible states that a Job can be in during its lifecycle. Jobs represent asynchronous operations such as data publishing, model uploads, and computation tasks that may take significant time to complete.
Job Lifecycle:
PENDING: Job created and queued for execution
STARTED: Job execution has begun
SUCCESS/FAILURE: Job completed with final status
RETRY: Job failed but will be retried automatically
REVOKED: Job was cancelled before completion
Examples
Monitoring job progress:
# Start a data publishing job
job = model.publish(source=data_df, environment=fdl.EnvType.PRODUCTION)
# Wait for completion
job.wait() # Blocks until job completes
# Check final status
if job.status == fdl.JobStatus.SUCCESS:
print(“Data published successfully”)
else:
print(f”Job failed with status: {job.status}”)Polling job status manually:
import time
# Check status periodically
while job.status in [fdl.JobStatus.PENDING, fdl.JobStatus.STARTED]:
print(f”Job progress: {job.progress}%”)
time.sleep(10)
job.refresh() # Update job status from server
# Handle different completion states
if job.status == fdl.JobStatus.SUCCESS:
print(“Operation completed successfully”)
elif job.status == fdl.JobStatus.FAILURE:
print(f”Operation failed: {job.error_message}”)
elif job.status == fdl.JobStatus.REVOKED:
print(“Operation was cancelled”)Handling job failures and retries:
# Monitor job with retry handling
max_wait_time = 3600 # 1 hour timeout
start_time = time.time()
while (time.time() - start_time) < max_wait_time:
: if job.status == fdl.JobStatus.SUCCESS:
break
elif job.status == fdl.JobStatus.FAILURE:
print(f”Job failed permanently: {job.error_message}”)
break
elif job.status == fdl.JobStatus.RETRY:
print(“Job failed but will be retried automatically”)
time.sleep(30)
job.refresh()PENDING = 'PENDING'
Job is queued and waiting to start execution.
This is the initial status when a job is first created. The job has been submitted to the system but has not yet begun processing. Jobs may remain in PENDING status if there are resource constraints or if they are waiting for dependencies.
Characteristics:
Job is in the execution queue
No processing has started yet
May transition to STARTED when resources become available
Can be cancelled while in this state
Typical duration: Seconds to minutes depending on system load
STARTED = 'STARTED'
Job execution is currently in progress.
The job has begun processing and is actively running. Progress information may be available through the job.progress property. Jobs in this state are consuming system resources and performing the requested operation.
Characteristics:
Active processing is occurring
Progress updates may be available
Cannot be cancelled once started
Will transition to SUCCESS, FAILURE, or RETRY
Typical duration: Minutes to hours depending on operation complexity
SUCCESS = 'SUCCESS'
Job completed successfully.
The operation has finished successfully and all requested work has been completed. Results are available and the operation achieved its intended outcome without errors.
Characteristics:
Operation completed without errors
Results are available for use
Job will not change status again
Resources have been released
This is a terminal status - the job is complete.
FAILURE = 'FAILURE'
Job failed and will not be retried.
The operation encountered an error and could not be completed successfully. This is a permanent failure - the job will not be automatically retried. Error details are typically available in the job.error_message property.
Characteristics:
Operation failed due to an error
No automatic retry will occur
Error details available in error_message
Manual intervention may be required
Common causes:
Invalid input data or parameters
Insufficient permissions
System resource exhaustion
Data validation failures
This is a terminal status - the job will not continue.
RETRY = 'RETRY'
Job failed but will be automatically retried.
The operation encountered a temporary error but the system will automatically attempt to retry the job. This typically occurs for transient issues like network timeouts or temporary resource unavailability.
Characteristics:
Temporary failure occurred
System will automatically retry
May transition back to PENDING or STARTED
Retry attempts are limited
Common causes:
Network connectivity issues
Temporary resource constraints
Transient system errors
Database connection timeouts
The job may eventually succeed or transition to FAILURE if retries are exhausted.
REVOKED = 'REVOKED'
Job was cancelled or revoked before completion.
The job was explicitly cancelled by the user or system before it could complete. This may occur due to user cancellation, system shutdown, or administrative intervention.
Characteristics:
Job was cancelled before completion
No results are available
Resources have been cleaned up
Operation did not complete
Common causes:
User-initiated cancellation
System maintenance or shutdown
Administrative intervention
Timeout or resource limits exceeded
This is a terminal status - the job will not continue.
Last updated
Was this helpful?