Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-04-09 07:58:19

0001 #!/usr/bin/env python
0002 #
0003 # Licensed under the Apache License, Version 2.0 (the "License");
0004 # You may not use this file except in compliance with the License.
0005 # You may obtain a copy of the License at
0006 # http://www.apache.org/licenses/LICENSE-2.0OA
0007 #
0008 # Authors:
0009 # - Wen Guan, <wen.guan@cern.ch>, 2023
0010 
0011 
0012 """
0013 operations related to Events.
0014 """
0015 
0016 from idds.orm.base.session import read_session, transactional_session
0017 from idds.orm import events as orm_events
0018 
0019 
0020 @transactional_session
0021 def add_event(event, session=None):
0022     """
0023     Add an event to be submitted asynchronously to a command broker.
0024 
0025     :param event: The Event object.
0026     :param session: The database session.
0027     """
0028     return orm_events.add_event(event=event, session=session)
0029 
0030 
0031 @read_session
0032 def get_events(event_type, event_actual_id, status=None, session=None):
0033     """
0034     Get events
0035 
0036     :param event_type: event type.
0037     :param event_actual_id: event actual id.
0038     :param status: event status.
0039     """
0040     return orm_events.get_events(event_type=event_type, event_actual_id=event_actual_id,
0041                                  status=status, session=session)
0042 
0043 
0044 @read_session
0045 def get_event_priority(event_type, event_actual_id, session=None):
0046     """
0047     Get event priority
0048 
0049     :param event_type: event type.
0050     :param event_actual_id: event actual id.
0051     """
0052     return orm_events.get_event_priority(event_type=event_type, event_actual_id=event_actual_id, session=session)
0053 
0054 
0055 @transactional_session
0056 def update_event(event_id, status, session=None):
0057     """
0058     Update event
0059 
0060     :param event_id: event id.
0061     :param status: Event status.
0062     """
0063     return orm_events.update_event(evnet_id=event_id, status=status, session=session)
0064 
0065 
0066 @transactional_session
0067 def get_event_for_processing(event_type, num_events=1, session=None):
0068     """
0069     Get event for processing
0070 
0071     :param event_type: event type.
0072     """
0073     return orm_events.get_event_for_processing(event_type=event_type, num_events=num_events, session=session)
0074 
0075 
0076 @transactional_session
0077 def delete_event(event_id, session=None):
0078     """
0079     Delete event with the given id.
0080 
0081     :param event_id: The event id.
0082     """
0083     return orm_events.delete_event(event_id=event_id, session=session)
0084 
0085 
0086 @transactional_session
0087 def add_event_archive(event, session=None):
0088     """
0089     Add an event to the archive.
0090 
0091     :param event: The Event object.
0092     :param session: The database session.
0093     """
0094     return orm_events.add_event_archive(event=event, session=session)
0095 
0096 
0097 @transactional_session
0098 def clean_event(event, to_archive=True, session=None):
0099     return orm_events.clean_event(event=event, to_archive=to_archive, session=session)
0100 
0101 
0102 @transactional_session
0103 def fail_event(event, to_archive=True, session=None):
0104     return orm_events.fail_event(event=event, to_archive=to_archive, session=session)