2025-03-23 18:51:55 +08:00
|
|
|
|
# Timer 类函数文档
|
|
|
|
|
|
|
|
|
|
|
|
**类说明**:
|
|
|
|
|
|
`Timer`类为定时器相关操作。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 函数签名
|
|
|
|
|
|
**公有函数**:
|
|
|
|
|
|
- `function SetTimeOut(target_func, delay_time, ...)`
|
|
|
|
|
|
### 参数
|
|
|
|
|
|
- `target_func`:函数体,要获执行的函数
|
|
|
|
|
|
- `delay_time`:整数,要延迟的时间(秒)
|
|
|
|
|
|
- `...`:可变参数,传入的参数可再函数体回调函数中使用
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**这里给出两个个例子**:
|
|
|
|
|
|
> 无参数
|
|
|
|
|
|
```
|
|
|
|
|
|
Timer.SetTimeOut(function() {
|
|
|
|
|
|
print("注册 5 秒后执行")
|
|
|
|
|
|
}, 5);
|
|
|
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
> 有参数
|
|
|
|
|
|
```
|
|
|
|
|
|
Timer.SetTimeOut(function(str,num) {
|
|
|
|
|
|
print(str);//将打印 "字符串"
|
|
|
|
|
|
print(num);//将打印 123
|
|
|
|
|
|
print("注册 5 秒后执行")
|
|
|
|
|
|
}, 5,"字符串",123);
|
|
|
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 函数签名
|
|
|
|
|
|
**公有函数**:
|
2025-11-19 23:22:00 +08:00
|
|
|
|
- `function SetCronTask(target_func, build_info, ...)`
|
2025-03-23 18:51:55 +08:00
|
|
|
|
### 参数
|
|
|
|
|
|
- `target_func`:函数体,要获执行的函数
|
2025-11-19 23:22:00 +08:00
|
|
|
|
- `build_info`:可以是字符串,计划任务格式 让gpt帮你写cron字符串 也可以是一个结构体 包含 Cron 和 Name
|
2025-03-23 18:51:55 +08:00
|
|
|
|
- `...`:可变参数,传入的参数可再函数体回调函数中使用
|
2025-11-19 23:22:00 +08:00
|
|
|
|
### 注意
|
|
|
|
|
|
- `关于定时任务的销毁`:在执行的任务中 如果不返回 或者返回null 返回true 任务都将继续执行 如果返回false 任务将不再继续执行
|
2025-03-23 18:51:55 +08:00
|
|
|
|
|
2025-11-19 23:22:00 +08:00
|
|
|
|
**这里给出三个例子**:
|
2025-03-23 18:51:55 +08:00
|
|
|
|
> 无参数
|
|
|
|
|
|
```
|
|
|
|
|
|
Timer.SetCronTask(function() {
|
|
|
|
|
|
print("注册 每五秒 执行")
|
|
|
|
|
|
}, "*/5 * * * * ?");
|
|
|
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
> 有参数
|
|
|
|
|
|
```
|
|
|
|
|
|
Timer.SetCronTask(function(str,num) {
|
|
|
|
|
|
print(str);//将打印 "字符串"
|
|
|
|
|
|
print(num);//将打印 123
|
|
|
|
|
|
print("注册 每五秒 执行")
|
|
|
|
|
|
}, "*/5 * * * * ?","字符串",123);
|
|
|
|
|
|
```
|
2025-11-19 23:22:00 +08:00
|
|
|
|
> 结构体
|
|
|
|
|
|
```
|
|
|
|
|
|
Timer.SetCronTask(function(str,num) {
|
|
|
|
|
|
print(str);//将打印 "字符串"
|
|
|
|
|
|
print(num);//将打印 123
|
|
|
|
|
|
print("注册 每五秒 执行")
|
|
|
|
|
|
}, {
|
|
|
|
|
|
Cron = "0/5 * * * * *",
|
|
|
|
|
|
Name = "TestCronName"
|
|
|
|
|
|
},"字符串",123);
|
|
|
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 函数签名
|
|
|
|
|
|
**公有函数**:
|
|
|
|
|
|
- `function RemoveCronTask(name)`
|
|
|
|
|
|
### 参数
|
|
|
|
|
|
- `name`:要移除的定时任务的名字
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**这里给出一个例子**:
|
|
|
|
|
|
```
|
|
|
|
|
|
//定义一个显示的变量
|
|
|
|
|
|
getroottable().TaskCount <- 0;
|
|
|
|
|
|
|
|
|
|
|
|
//任务
|
|
|
|
|
|
function Task() {
|
|
|
|
|
|
getroottable().TaskCount++;
|
|
|
|
|
|
print("定时任务执行了一次,当前执行次数为:" + getroottable().TaskCount);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//注册一个定时任务 每五秒执行一次 任务名为 TestCronName
|
|
|
|
|
|
Timer.SetCronTask(Task, {
|
|
|
|
|
|
Cron = "0/5 * * * * *",
|
|
|
|
|
|
Name = "TestCronName"
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
//十秒钟后删除之前注册的定时任务
|
|
|
|
|
|
Timer.SetTimeOut(function() {
|
|
|
|
|
|
print("删除定时任务");
|
|
|
|
|
|
//这里执行删除定时任务的逻辑以后 上面的定时任务将不会在继续生效
|
|
|
|
|
|
Timer.RemoveCronTask("TestCronName");
|
|
|
|
|
|
}, 10000)
|
|
|
|
|
|
```
|
2025-03-23 18:51:55 +08:00
|
|
|
|
---
|