#!/usr/bin/env python3

import os, sys, uuid
from globus_compute_sdk import Client, Executor

if __name__=="__main__":
    argv = sys.argv

    if os.getenv("GLOBUS_COMPUTE_CLIENT_ID") is None:
        raise ValueError("GLOBUS_COMPUTE_CLIENT_ID env var must be defined")
    if os.getenv("GLOBUS_COMPUTE_CLIENT_SECRET") is None:
        raise ValueError("GLOBUS_COMPUTE_CLIENT_SECRET env var must be defined")

    gclient = Client()
    for jobid in argv[1:]:
        task_group_id = uuid.UUID(int=int(jobid))
        with Executor( endpoint_id = "{{job.backend.queue_name}}"
                     , client = gclient
                     , task_group_id = task_group_id
                     ) as gce:
            future = gce.reload_tasks()[0]
            future.cancel()
