Update README.md
This commit is contained in:
70
cleanup_test_jobs.py
Normal file
70
cleanup_test_jobs.py
Normal file
@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env python
|
||||
"""
|
||||
Script to clean up test jobs from Nomad.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from dotenv import load_dotenv
|
||||
from app.services.nomad_client import NomadService
|
||||
|
||||
# Load environment variables from .env file
|
||||
load_dotenv()
|
||||
|
||||
def main():
|
||||
print("Cleaning up test jobs from Nomad...")
|
||||
|
||||
# Check if NOMAD_ADDR is configured
|
||||
nomad_addr = os.getenv("NOMAD_ADDR")
|
||||
if not nomad_addr:
|
||||
print("Error: NOMAD_ADDR is not configured in .env file.")
|
||||
sys.exit(1)
|
||||
|
||||
print(f"Connecting to Nomad at: {nomad_addr}")
|
||||
|
||||
try:
|
||||
# Initialize the Nomad service
|
||||
nomad_service = NomadService()
|
||||
|
||||
# List all jobs
|
||||
print("\nListing all jobs...")
|
||||
jobs = nomad_service.list_jobs()
|
||||
print(f"Found {len(jobs)} jobs")
|
||||
|
||||
# Filter for test jobs (starting with "test-")
|
||||
test_jobs = [job for job in jobs if job.get('ID', '').startswith('test-')]
|
||||
print(f"Found {len(test_jobs)} test jobs:")
|
||||
|
||||
# Print each test job's ID and status
|
||||
for job in test_jobs:
|
||||
print(f" - {job.get('ID')}: {job.get('Status')}")
|
||||
|
||||
# Confirm before proceeding
|
||||
if test_jobs:
|
||||
print("\nDo you want to stop and purge all these test jobs? (y/n)")
|
||||
response = input().strip().lower()
|
||||
|
||||
if response == 'y':
|
||||
print("\nStopping and purging test jobs...")
|
||||
|
||||
for job in test_jobs:
|
||||
job_id = job.get('ID')
|
||||
try:
|
||||
print(f"Stopping and purging job: {job_id}...")
|
||||
stop_response = nomad_service.stop_job(job_id, purge=True)
|
||||
print(f" - Success: {stop_response}")
|
||||
except Exception as e:
|
||||
print(f" - Error stopping job {job_id}: {str(e)}")
|
||||
|
||||
print("\nCleanup completed.")
|
||||
else:
|
||||
print("\nCleanup cancelled.")
|
||||
else:
|
||||
print("\nNo test jobs found to clean up.")
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error during cleanup: {str(e)}")
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Reference in New Issue
Block a user