Skip to content

Instantly share code, notes, and snippets.

@brianv0
Created August 21, 2018 22:51
Show Gist options
  • Save brianv0/7ceab32f57d6740d58d42186e8655258 to your computer and use it in GitHub Desktop.
Save brianv0/7ceab32f57d6740d58d42186e8655258 to your computer and use it in GitHub Desktop.
Terminate Running subprocesses
from org.srs.pipeline.server.sql import DatabaseUtilities
from org.srs.pipeline.server.sql.ProcessInstance import ProcessingStatus
from org.srs.pipeline.server.sql.Stream import StreamStatus
from org.srs.pipeline.server.sql.Process import ProcessType
status = ProcessingStatus.TERMINATED
import sys
def terminate(pi, dbu=None):
doClose = dbu is None
if doClose:
dbu = DatabaseUtilities()
dbu = DatabaseUtilities()
dbu.lockAndSetProcessInstanceStatus(pi,status, True)
dbu.commit()
if doClose:
dbu.close()
dbu = DatabaseUtilities()
task_id = 256002026L
stream_id = 256013505L
substreams = dbu.getSubstreams(task_id, stream_id)
running_streams = [i for i in substreams if dbu.getStreamStatus(i.pk) == StreamStatus.RUNNING]
for stream in running_streams:
for pi in dbu.getProcessInstances(stream):
if pi.status == ProcessingStatus.RUNNING or pi.status == ProcessingStatus.SUBMITTED:
print("terminating: " + str(pi))
terminate(pi, dbu)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment