Nambers / MiraiCP

c++ SDK of Mirai
https://eritque-arcus.tech/MiraiCP/
GNU Affero General Public License v3.0
177 stars 31 forks source link

想问应该如何恰当实现定时任务 #179

Closed Wrg1t closed 1 year ago

Wrg1t commented 1 year ago

功能描述

请问目前的MiraiCP(2.13.2)应该怎么恰当地实现定时任务?不是schedule()在一定时间后广播**一次**TimeOutEvent的形式,希望的是可以实现类似JavaPluginSchedulerrepeating()的功能,即每经过一定的时间执行一次给定任务。 (实在找不到比较恰当的地方提issue,希望大佬谅解。)

原因

为了及时抓取信息源并与已存储的信息比较,所以需要在一定间隔后再执行。

组件选择

plugin

Antares0982 commented 1 year ago

你可以在注册timeoutEvent处解析content,然后再次发送一个schedule()

Event::registerEvent<TimeOutEvent>([](TimeOutEvent a){
            if(a.msg=="repeat"){
                schedule(10, "repeat");
                // do your job
            }
        });
Wrg1t commented 1 year ago

你可以在注册timeoutEvent处解析content,然后再次发送一个schedule()

Event::registerEvent<TimeOutEvent>([](TimeOutEvent a){
            if(a.msg=="repeat"){
                schedule(10, "repeat");
                // do your job
            }
        });

有道理啊!感谢。