コード例 #1
0
ファイル: test1.py プロジェクト: UAMS-DBMI/PosdaTools
def main():

    get_import = Query("GetPosdaFilesImportControl")
    go_in_service = Query("GoInServicePosdaImport")
    quit_q = Query("RelinquishControlPosdaImport")

    while True:
        # get current status
        for import_control in get_import.run(): pass

        if import_control.status == "waiting to go inservice":
            go_in_service.execute(MYPID)
            continue

        if import_control.status == "service process running":
            if import_control.processor_pid != MYPID:
                printe("Some other process controlling import")
                return

            if import_control.pending_change_request == "shutdown":
                quit_q.execute()
                printe("Relinquished control of posda_import")
                return

            printe("Doing actual work (well, pretending)")

        else:
            printe(f"unknown state ({import_control.status}) for posda_import")
コード例 #2
0
def main():

    get_import = Query("GetPosdaFilesImportControl")
    go_in_service = Query("GoInServicePosdaImport")
    quit_q = Query("RelinquishControlPosdaImport")

    while True:
        # get current status
        for import_control in get_import.run():
            pass

        if import_control.status == "waiting to go inservice":
            go_in_service.execute(MYPID)
            continue

        if import_control.status == "service process running":
            if import_control.processor_pid != MYPID:
                printe("Some other process controlling import")
                return

            if import_control.pending_change_request == "shutdown":
                quit_q.execute()
                printe("Relinquished control of posda_import")
                return

            printe("Doing actual work (well, pretending)")

        else:
            printe(f"unknown state ({import_control.status}) for posda_import")
コード例 #3
0
ファイル: test1.py プロジェクト: UAMS-DBMI/PosdaTools
def do_actual_work(import_control):
    if True: # remain_count == 0
        printe(f"Sleeping {import_control.idle_seconds} seconds")
        time.sleep(import_control.idle_seconds)
コード例 #4
0
ファイル: test.py プロジェクト: UAMS-DBMI/PosdaTools
import posda.fork
from posda.main import printe

parent_pid, my_pid = posda.fork.daemonize()
printe(f"This is the child, all is well! It looks like my parent's pid was: {parent_pid}, mine is {my_pid}")
コード例 #5
0
import posda.fork
from posda.main import printe

parent_pid, my_pid = posda.fork.daemonize()
printe(
    f"This is the child, all is well! It looks like my parent's pid was: {parent_pid}, mine is {my_pid}"
)
コード例 #6
0
def do_actual_work(import_control):
    if True:  # remain_count == 0
        printe(f"Sleeping {import_control.idle_seconds} seconds")
        time.sleep(import_control.idle_seconds)
コード例 #7
0
import os
import sys
import time

from posda.main import printe

parent_pid = os.getpid()

print("Starting up.. verifying inputs and stuff, about to fork..")


sys.stdin.close()
sys.stdout.close()
# if we don't close stderr the parent is not released???
# sys.stderr.close()

child_pid = os.fork()

if child_pid != 0:
    printe(f"I am the parent! my pid is: {parent_pid}, and my child's pid is: {child_pid}")
    os._exit(1)
    # sys.exit(1)

mypid = os.getpid()

printe(f"I am the child! My pid is: {mypid}, my parent's pid is {parent_pid}")
time.sleep(5)
printe("Slept for 5 seconds! wee")

コード例 #8
0
    background_pid=my_pid, 
    background_subprocess_id=subprocess_id)

get_series_count = Query(args.file_query_name)

scan_id = Query("CreateSimplePhiScanRow").get_single_value(
    description=args.description, 
    num_series=len(input_lines), 
    file_query=args.file_query_name
)

# create queries we are going to use multiple times
# TODO: ^ that

for series in input_lines:
    printe(f"Processing {series}")

    count = 0

    for row in get_series_count.run(series):
        count += 1

    printe(f"Found {count} files in this series.")

    series_scan_id = Query("CreateSimpleSeriesScanInstance").get_single_value(
        scan_instance_id=scan_id,
        series_instance_uid=series
    )

    cmd = "PhiSimpleSeriesScan.pl"
    command = [cmd, series, args.file_query_name]