Skip to content

Commit

Permalink
fix: Add coins to org-jobs
Browse files Browse the repository at this point in the history
  • Loading branch information
Alan Christie committed Jul 29, 2024
1 parent ef1f87e commit 1ae283a
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions tools/org-jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import argparse
from dataclasses import dataclass
from datetime import datetime
from decimal import Decimal
import sys
from typing import Any, Dict, List
import urllib3
Expand All @@ -22,11 +23,13 @@
@dataclass
class JobStats:
count: int
coins: Decimal
earliest: datetime
latest: datetime

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


def main(c_args: argparse.Namespace) -> None:
Expand Down Expand Up @@ -67,20 +70,22 @@ def main(c_args: argparse.Namespace) -> None:
if "processing_charges" in c_rv.msg:
for processing_charge in c_rv.msg["processing_charges"]:
if "additional_data" in processing_charge["charge"]:
coins: Decimal = Decimal(processing_charge["charge"]["coins"])
timestamp: datetime = datetime.fromisoformat(processing_charge["charge"]["timestamp"])
ad: Dict[str, Any] = processing_charge["charge"]["additional_data"]
if "job_collection" in ad:
job_str: str = f'{ad["job_collection"]}|{ad["job_job"]}|{ad["job_version"]}'
if job_str in org_jobs:
job_stats = org_jobs[job_str]
job_stats.count += 1
job_stats.coins += coins
if timestamp < job_stats.earliest:
job_stats.earliest = timestamp
elif timestamp > job_stats.latest:
job_stats.latest = timestamp
org_jobs[job_str] = job_stats
else:
org_jobs[job_str] = JobStats(count=1, earliest=timestamp, latest=timestamp)
org_jobs[job_str] = JobStats(count=1, coins=coins, earliest=timestamp, latest=timestamp)
jobs: List[str] = org_jobs.keys()
for job in sorted(jobs):
print(f'{job}: ({org_jobs[job]})')
Expand Down

0 comments on commit 1ae283a

Please sign in to comment.