Is it work startMonitoring from DeviceActivityMonitorExtension's eventDidReachThreshold function?

I want to monitor again from the bellow function of DeviceActivityMonitorExtension. I have the function of startMonitoring like this.

    override func eventDidReachThreshold(_ event: DeviceActivityEvent.Name, activity: DeviceActivityName) {
        super.eventDidReachThreshold(event, activity: activity)
         startMonitoring()
}

    public func startMonitoring() {
                   
            let startTime = DateComponents(hour: 0, minute: 0, second: 0)
            let endTime = DateComponents(hour: 23, minute: 59, second: 59)//DateComponents(hour: 11, minute: 0, second: 0)//

            let schedule = DeviceActivitySchedule(
                intervalStart: startTime,//DateComponents(hour: 0, minute: 0, second: 0),
                intervalEnd: endTime,
                repeats: true
                //warningTime: DateComponents(minute:1)
            )
            
            let selection: FamilyActivitySelection = savedSelection() ?? FamilyActivitySelection()
            
            
            let center = DeviceActivityCenter()
                               
                    let selections = self.savedSelection() ?? FamilyActivitySelection()
                    
                    let applications = selections.applicationTokens
                    let categories = selections.categoryTokens
                    let webCategories = selections.webDomainTokens
                    let store = ManagedSettingsStore()
                    store.shield.applicationCategories = ShieldSettings.ActivityCategoryPolicy.specific(categories, except: Set())
                    store.shield.applications = applications
                    store.shield.webDomains = webCategories
                        
                    
                    let scheduleHard = DeviceActivitySchedule(
                        intervalStart: startTime,//DateComponents(hour: 0, minute: 0, second: 0),
                        intervalEnd: endTime,
                        repeats: true
                        //warningTime: DateComponents(minute:1)
                    )
                    
                    let event = DeviceActivityEvent(
                        applications: selection.applicationTokens,
                        categories: selection.categoryTokens,
                        webDomains: selection.webDomainTokens,
                        threshold: DateComponents(minute: 0)//timeLimitToUseApp i.e for 15 mins
                    )
                    do {
                        try center.startMonitoring( .weekend,
                                                    during: scheduleHard,
                                                    events: [
                                                        .weekend: event,
                                                    ]
                        )
                        print("ScreenTime Monitoring Started")
                    } catch let error {
                        print(error.localizedDescription)
                    }
}

Please provide us with a solution about starting monitoring from DeviceActivityMonitoringExtension's eventDidReachThreshold function or if there is any other way.

Is it work startMonitoring from DeviceActivityMonitorExtension's eventDidReachThreshold function?
 
 
Q