File indexing completed on 2026-04-20 07:58:57
0001 """
0002 Base class to communicate with WMS
0003
0004 """
0005
0006 import abc
0007
0008 from pandaharvester.harvestercore import core_utils
0009
0010
0011 _logger = core_utils.setup_logger("communicator")
0012
0013
0014
0015 class BaseCommunicator(metaclass=abc.ABCMeta):
0016
0017 def __init__(self):
0018 pass
0019
0020
0021 def make_logger(self, tag=None, method_name=None):
0022 return core_utils.make_logger(_logger, token=tag, method_name=method_name)
0023
0024
0025 def get_jobs(self, site_name, node_name, prod_source_label, computing_element, n_jobs, additional_criteria):
0026 return [], ""
0027
0028
0029 def update_jobs(self, jobspec_list, id):
0030 return [{"StatusCode": 0, "ErrorDiag": "", "command": ""}] * len(jobspec_list)
0031
0032
0033 def get_event_ranges(self, data_map, scattered, base_path):
0034 return True, {}
0035
0036
0037 def update_event_ranges(self, event_ranges, tmp_log):
0038 retMap = dict()
0039 retMap["StatusCode"] = 0
0040 retMap["Returns"] = [True] * len(event_ranges)
0041 return retMap
0042
0043
0044 def get_commands(self, n_commands):
0045 return []
0046
0047
0048 def ack_commands(self, command_ids):
0049 return True
0050
0051
0052 def update_workers(self, workspec_list):
0053 return [True] * len(workspec_list), ""
0054
0055
0056 def is_alive(self, key_values):
0057 return True, ""
0058
0059
0060 def update_worker_stats(self, site_name, stats):
0061 return True, ""
0062
0063
0064 def check_jobs(self, jobspec_list):
0065 return [{"StatusCode": 0, "ErrorDiag": "", "command": ""}] * len(jobspec_list)
0066
0067
0068 def send_dialog_messages(self, dialog_list):
0069 return True, ""
0070
0071
0072 def update_service_metrics(self, service_metrics_list):
0073 return True, ""
0074
0075
0076 def force_credential_renewal(self):
0077 return True