class_docstr: job status
class_docstr_tok: ["job","status"]
docstr: tests if job status is terminal
  
  If the status is terminal, then the assumption is that it will not change
  again, so we will not query the compute backend any further for job status.
docstr_tok: ["tests","if","job","status","is","terminal","If","the","status","is","terminal",",","then","the","assumption","is","that","it","will","not","change","again",",","so","we","will","not","query","the","compute","backend","any","further","for","job","status","."]
code: def is_terminal(self) -> bool:
      """tests if job status is terminal
  
      If the status is terminal, then the assumption is that it will not change
      again, so we will not query the compute backend any further for job status.
      """
      return self.name in ["SUCCEEDED", "FAILED", "STOPPED", "UNKNOWN"]
  
imports: import json
  from collections import OrderedDict
  from datetime import datetime
  from enum import Enum
  from typing import Any, Dict, List, Optional
  import sqlalchemy
  from sqlalchemy import JSON, Column, DateTime, ForeignKey, Integer, String
  from sqlalchemy.engine.base import Engine
  from sqlalchemy.ext.declarative import declarative_base
  from sqlalchemy.orm import Session, backref, relationship, sessionmaker
  from sqlalchemy.orm.session import object_session
  from caliban.util import current_user
label_desc: Use image node_id 1 for calling the JobStatus obj's underlying member method code with example usage: obj.is_terminal() and returns: unknown