示例#1
0
文件: tmstree.py 项目: bdotdub/norc
def print_jobs(jobs, exclude_iter_statuses):
    f = []
    f.append(['Job', 'Open Iters', 'Date Added'])
    f.append(['-','-','-'])
    for job in jobs:
        open_iters = get_iterations(job, exclude_iter_statuses)
        open_iters_str = '-'
        if len(open_iters) > 0:
            open_iters_str = []
            for open_iter in open_iters:
                open_iters_str.append("%s #%s" % (str(open_iter.get_status()), int(open_iter.get_id())))
        f.append([job.get_name(), open_iters_str, job.date_added])
    formatting.pprint_table(sys.stdout, f)
示例#2
0
def report_tmsd_status(status_filter, tms_list=None, max_tasks_due_to_run=None):
    include_statuses = DAEMON_STATUS_FILTER_2_STATUS_LIST[status_filter.lower()]
    if tms_list == None:
        matches = tms_models.NorcDaemonStatus.objects.filter()
        tms_list = matches.all()
    tabular = []
    tabular.append(["ID", "Type", "Region", "Host", "PID", "Running", "Success", "Error", "Status", "Started", "Ended"])
    for tds in tms_list:
        if not include_statuses == None and not tds.get_status() in include_statuses:
            continue
        one_row = []
        one_row.append(str(tds.id))
        one_row.append(tds.get_daemon_type())
        one_row.append(tds.get_region().get_name())
        one_row.append(tds.host)
        one_row.append(tds.pid)
        one_row.append(len(tds.get_task_statuses(only_statuses=TASK_STATUS_FILTER_2_STATUS_LIST['running'])))
        one_row.append(len(tds.get_task_statuses(only_statuses=TASK_STATUS_FILTER_2_STATUS_LIST['success'])))
        one_row.append(len(tds.get_task_statuses(only_statuses=TASK_STATUS_FILTER_2_STATUS_LIST['errored'])))
        one_row.append(tds.get_status())
        one_row.append(tds.date_started)
        if tds.is_done():
            one_row.append(tds.date_ended)
        else:
            one_row.append("-")
        tabular.append(one_row)
    
    print >>sys.stdout, "Status as of %s" % (time.strftime("%m/%d/%Y %H:%M:%S"))
    if not max_tasks_due_to_run in (None, 0):
        # This call is currently super expensive when there's lots of Tasks; limit it!
        to_run = tms_manage.get_tasks_allowed_to_run(max_to_return=max_tasks_due_to_run)
        if len(to_run) < max_tasks_due_to_run:
            print >>sys.stdout, "%s Task(s) due to run.\n" % (len(to_run))
        else:
            print >>sys.stdout, "At least %s Task(s) due to run.\n" % (len(to_run))
    
    if len(tabular) == 1:
        print >>sys.stdout, "No %s tms daemons" % (status_filter.upper())
    else:
        print >>sys.stdout, "%s %s tms daemon(s):" % (len(tabular)-1, status_filter.upper())
        formatting.pprint_table(sys.stdout, tabular)
        print >>sys.stdout, ""
示例#3
0
def report_sqsd_details(status_filter, sqsd):
    """report details for given sqsd"""
    include_statuses = TASK_STATUS_FILTER_2_STATUS_LIST[status_filter.lower()]
    tabular = []
    tabular.append(["Task ID", "Status", "Started", "Ended"])
    for run_status in sqsd.get_task_statuses(only_statuses=include_statuses):
        one_row = []
        one_row.append(str(run_status.get_task_id()))
        one_row.append(run_status.get_status())
        one_row.append(run_status.date_started)
        if run_status.date_ended == None:
            one_row.append("-")
        else:
            one_row.append(run_status.date_ended)
        tabular.append(one_row)
    if len(tabular) == 1:
        print >>sys.stdout, "SQS Daemon %s:%s (%s) hasn't run any tasks\n" % (sqsd.get_region().get_name(), sqsd.get_id(), sqsd.get_status())
    else:
        print >>sys.stdout, "SQS Daemon %s:%s (%s) manages %s task(s):\n" % (sqsd.get_region().get_name(), sqsd.get_id(), sqsd.get_status(), len(tabular)-1)
        formatting.pprint_table(sys.stdout, tabular)
        print >>sys.stdout, ""
示例#4
0
文件: sqsctl.py 项目: bdotdub/norc
    sys.stdout.write("\n")

    table_data = []
    header1 = ["Name", "~ #", "Timeout"]
    header2 = ["-", "-", "-"]
    table_data.append(header1)
    table_data.append(header2)
    for q in all_queues:
        try:
            row = [get_name(q), q.count(), q.get_timeout()]
            table_data.append(row)
        except SQSError, sqse:
            log.error("Internal SQS error (it generates ignorable errors sometimes)" + str(sqse))

    if len(table_data) > 2:
        formatting.pprint_table(sys.stdout, table_data)
    sys.stdout.write("\n")


#
#
#


def main():
    parser = OptionParser(
        "%prog [--create_queue <name> [--visibility_timeout <seconds>]] \
[--clear_queue <name> [--use_api]] [--delete_queue <name>] [--debug]"
    )
    parser.add_option("--create_queue", action="store")
    parser.add_option("--visibility_timeout", action="store", type="int")