def METHOD_NAME(self):
    """Standard initialization"""
    # This agent will always loop every 15 minutes
    self.am_setOption("PollingTime", 900)
    # Check whether to send to Monitoring or Accounting or both
    self.jobMonitoringOption = Operations().getMonitoringBackends(monitoringType="WMSHistory")
    self.pilotMonitoringOption = Operations().getMonitoringBackends(monitoringType="PilotsHistory")
    messageQueue = self.am_getOption("MessageQueue", "dirac.wmshistory")
    self.datastores = {}  # For storing the clients to Accounting and Monitoring
    if "Accounting" in self.jobMonitoringOption:
        self.datastores["Accounting"] = DataStoreClient(retryGraceTime=900)
    if "Monitoring" in self.jobMonitoringOption:
        self.datastores["Monitoring"] = MonitoringReporter(
            monitoringType="WMSHistory", failoverQueueName=messageQueue
        )
    if "Monitoring" in self.pilotMonitoringOption:
        self.pilotReporter = MonitoringReporter(monitoringType="PilotsHistory", failoverQueueName=messageQueue)
    self.__jobDBFields = []
    for field in self.__summaryKeyFieldsMapping:
        if field == "User":
            field = "Owner"
        elif field == "UserGroup":
            field = "OwnerGroup"
        self.__jobDBFields.append(field)
    return S_OK()