Skip to content

Commit 1ae283a

Browse files
author
Alan Christie
committed
fix: Add coins to org-jobs
1 parent ef1f87e commit 1ae283a

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

tools/org-jobs.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import argparse
88
from dataclasses import dataclass
99
from datetime import datetime
10+
from decimal import Decimal
1011
import sys
1112
from typing import Any, Dict, List
1213
import urllib3
@@ -22,11 +23,13 @@
2223
@dataclass
2324
class JobStats:
2425
count: int
26+
coins: Decimal
2527
earliest: datetime
2628
latest: datetime
2729

2830
def __repr__(self) -> str:
29-
return f'{self.count} {self.earliest.date()}/{self.latest.date()}'
31+
i_str = 'Instance' if self.count == 1 else 'Instances'
32+
return f'{self.coins} Coins {self.count} {i_str} From {self.earliest.date()} Until {self.latest.date()}'
3033

3134

3235
def main(c_args: argparse.Namespace) -> None:
@@ -67,20 +70,22 @@ def main(c_args: argparse.Namespace) -> None:
6770
if "processing_charges" in c_rv.msg:
6871
for processing_charge in c_rv.msg["processing_charges"]:
6972
if "additional_data" in processing_charge["charge"]:
73+
coins: Decimal = Decimal(processing_charge["charge"]["coins"])
7074
timestamp: datetime = datetime.fromisoformat(processing_charge["charge"]["timestamp"])
7175
ad: Dict[str, Any] = processing_charge["charge"]["additional_data"]
7276
if "job_collection" in ad:
7377
job_str: str = f'{ad["job_collection"]}|{ad["job_job"]}|{ad["job_version"]}'
7478
if job_str in org_jobs:
7579
job_stats = org_jobs[job_str]
7680
job_stats.count += 1
81+
job_stats.coins += coins
7782
if timestamp < job_stats.earliest:
7883
job_stats.earliest = timestamp
7984
elif timestamp > job_stats.latest:
8085
job_stats.latest = timestamp
8186
org_jobs[job_str] = job_stats
8287
else:
83-
org_jobs[job_str] = JobStats(count=1, earliest=timestamp, latest=timestamp)
88+
org_jobs[job_str] = JobStats(count=1, coins=coins, earliest=timestamp, latest=timestamp)
8489
jobs: List[str] = org_jobs.keys()
8590
for job in sorted(jobs):
8691
print(f'{job}: ({org_jobs[job]})')

0 commit comments

Comments
 (0)