@@ -1522,6 +1522,28 @@ async def process_gain(
15221522@router .delete ("/sessions/{session_id}" )
15231523def remove_session_by_id (session_id : MurfeySessionID , db = murfey_db ):
15241524 session = db .exec (select (Session ).where (Session .id == session_id )).one ()
1525+ prom .monitoring_switch .remove (session .visit )
1526+ rsync_instances = db .exec (
1527+ select (RsyncInstance ).where (RsyncInstance .session_id == session_id )
1528+ ).all ()
1529+ for ri in rsync_instances :
1530+ prom .seen_files .remove (ri .source , session .visit )
1531+ prom .transferred_files .remove (ri .source , session .visit )
1532+ prom .transferred_files_bytes .remove (ri .source , session .visit )
1533+ prom .seen_data_files .remove (ri .source , session .visit )
1534+ prom .transferred_data_files .remove (ri .source , session .visit )
1535+ prom .transferred_data_files_bytes .remove (ri .source , session .visit )
1536+ collected_ids = db .exec (
1537+ select (DataCollectionGroup , DataCollection , ProcessingJob )
1538+ .where (DataCollectionGroup .session_id == session_id )
1539+ .where (DataCollection .dcg_id == DataCollectionGroup .id )
1540+ .where (ProcessingJob .dc_id == DataCollection .id )
1541+ ).all ()
1542+ for c in collected_ids :
1543+ try :
1544+ prom .preprocessed_movies .remove (c [2 ].id )
1545+ except KeyError :
1546+ continue
15251547 db .delete (session )
15261548 db .commit ()
15271549 return
@@ -1725,56 +1747,6 @@ def register_processing_success_in_ispyb(
17251747 _transport_object .do_update_processing_status (updated )
17261748
17271749
1728- @router .delete ("/clients/{client_id}/session" )
1729- def remove_session (client_id : int , db = murfey_db ):
1730- client = db .exec (
1731- select (ClientEnvironment ).where (ClientEnvironment .client_id == client_id )
1732- ).one ()
1733- session_id = client .session_id
1734- client .session_id = None
1735- db .add (client )
1736- db .commit ()
1737- if session_id is None :
1738- return
1739- prom .monitoring_switch .remove (client .visit )
1740- rsync_instances = db .exec (
1741- select (RsyncInstance ).where (RsyncInstance .client_id == client_id )
1742- ).all ()
1743- for ri in rsync_instances :
1744- prom .seen_files .remove (ri .source , client .visit )
1745- prom .transferred_files .remove (ri .source , client .visit )
1746- prom .transferred_files_bytes .remove (ri .source , client .visit )
1747- prom .seen_data_files .remove (ri .source , client .visit )
1748- prom .transferred_data_files .remove (ri .source , client .visit )
1749- prom .transferred_data_files_bytes .remove (ri .source , client .visit )
1750- collected_ids = db .exec (
1751- select (DataCollectionGroup , DataCollection , ProcessingJob )
1752- .where (DataCollectionGroup .session_id == session_id )
1753- .where (DataCollection .dcg_id == DataCollectionGroup .id )
1754- .where (ProcessingJob .dc_id == DataCollection .id )
1755- ).all ()
1756- for c in collected_ids :
1757- try :
1758- prom .preprocessed_movies .remove (c [2 ].id )
1759- except KeyError :
1760- continue
1761- if (
1762- len (
1763- db .exec (
1764- select (ClientEnvironment ).where (
1765- ClientEnvironment .session_id == session_id
1766- )
1767- ).all ()
1768- )
1769- > 1
1770- ):
1771- return
1772- session = db .exec (select (Session ).where (Session .id == session_id )).one ()
1773- db .delete (session )
1774- db .commit ()
1775- return
1776-
1777-
17781750@router .post ("/visits/{visit_name}/monitoring/{on}" )
17791751def change_monitoring_status (visit_name : str , on : int ):
17801752 prom .monitoring_switch .labels (visit = visit_name )
0 commit comments