File: pandas.py

package info (click to toggle)
python-parsl 2025.01.13%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 12,072 kB
  • sloc: python: 23,817; makefile: 349; sh: 276; ansic: 45
file content (73 lines) | stat: -rw-r--r-- 2,232 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
from typing import Any

import pandas as pd

# pandas can take several different types of database connection,
# and itself exposes its connection parameters as "Any".
# This alias might help things be a bit clearer in our documentation.
DB = Any


def app_counts_for_workflow(workflow_id: Any, db: DB) -> pd.DataFrame:
    return pd.read_sql_query("""
        SELECT task_func_name, count(*) as 'frequency'
          FROM task
         WHERE run_id='%s'
      GROUP BY task_func_name;
         """ % workflow_id, db)


def nodes_for_workflow(workflow_id: Any, db: Any) -> pd.DataFrame:
    return pd.read_sql_query("""
        SELECT *
          FROM node
         WHERE run_id='%s';
        """ % (workflow_id), db)


def resources_for_workflow(workflow_id: Any, db: Any) -> pd.DataFrame:
    return pd.read_sql_query("""
        SELECT *
          FROM resource
         WHERE run_id='%s';
        """ % (workflow_id), db)


def resources_for_task(workflow_id: Any, task_id: Any, db: Any) -> pd.DataFrame:
    return pd.read_sql_query("""
        SELECT *
          FROM resource
         WHERE run_id='%s' AND task_id='%s';
        """ % (workflow_id, task_id), db)


def status_for_workflow(workflow_id: Any, db: Any) -> pd.DataFrame:
    return pd.read_sql_query("""
        SELECT run_id, task_id, task_status_name, timestamp
          FROM status
         WHERE run_id='%s';
        """ % workflow_id, db)


def completion_times_for_workflow(workflow_id: Any, db: Any) -> pd.DataFrame:
    return pd.read_sql_query("""
        SELECT task_id, task_func_name, task_time_returned
          FROM task
         WHERE run_id='%s'
        """ % (workflow_id), db)


def tasks_for_workflow(workflow_id: Any, db: Any) -> pd.DataFrame:
    return pd.read_sql_query("""
        SELECT *
          FROM task
         WHERE run_id='%s'
        """ % (workflow_id), db)


def tries_for_workflow(workflow_id: Any, db: Any) -> pd.DataFrame:
    return pd.read_sql_query("""
        SELECT task.task_id, task_func_name, task_time_returned, task_try_time_running, task_try_time_returned
          FROM task, try
         WHERE task.task_id = try.task_id AND task.run_id='%s' AND try.run_id='%s'
        """ % (workflow_id, workflow_id), db)