from google import genaiclient = genai.Client(api_key='your-api-key')# Iterate through all batch jobsfor batch_job in client.batches.list(): print(f"Job: {batch_job.name}") print(f"State: {batch_job.state}") print(f"Created: {batch_job.create_time}") print("---")
from google.genai import types# Get first page with 10 jobsconfig = types.ListBatchJobsConfig(page_size=10)pager = client.batches.list(config=config)# Process first pagefirst_page = list(pager)print(f"First page has {len(first_page)} jobs")# Get next page if availableif pager.next_page_token: config.page_token = pager.next_page_token next_pager = client.batches.list(config=config) next_page = list(next_pager) print(f"Next page has {len(next_page)} jobs")
from google.genai import types# List only successful batch jobsconfig = types.ListBatchJobsConfig( filter='state=JOB_STATE_SUCCEEDED')for batch_job in client.batches.list(config=config): print(f"Completed job: {batch_job.name}") print(f"Output: {batch_job.dest.gcs_uri}")
from datetime import datetime, timedelta# Get jobs from the last 24 hoursday_ago = datetime.now() - timedelta(days=1)recent_jobs = []for batch_job in client.batches.list(): job_time = datetime.fromisoformat( batch_job.create_time.replace('Z', '+00:00') ) if job_time > day_ago: recent_jobs.append(batch_job)print(f"Found {len(recent_jobs)} jobs in the last 24 hours")for job in recent_jobs: print(f"{job.name}: {job.state}")
from google.genai import types# Jobs created after a date using a specific modelconfig = types.ListBatchJobsConfig( filter='create_time>"2024-01-01T00:00:00Z" AND ' 'model="gemini-2.0-flash-001"', page_size=50)for batch_job in client.batches.list(config=config): print(f"Job: {batch_job.display_name}") print(f"Created: {batch_job.create_time}")
import timefrom google.genai import types# Track specific jobsjob_names = ['batch1', 'batch2', 'batch3']while True: all_complete = True for batch_job in client.batches.list(): if batch_job.name not in job_names: continue print(f"{batch_job.name}: {batch_job.state}") if batch_job.state in [ types.JobState.JOB_STATE_RUNNING, types.JobState.JOB_STATE_PENDING, types.JobState.JOB_STATE_QUEUED ]: all_complete = False if all_complete: print("All jobs completed!") break print("Checking again in 60 seconds...\n") time.sleep(60)