曲江轻舟

定时器

定时器服务是应用程序提供的一项后台服务,可以根据用户设定的时间条件,定时执行用户任务。

例如,玩家希望每隔10分钟喝一口水,就可以用定时器来完成。

定时器由时间任务两个要素构成:时间是预设的时间点,任务就是Lua脚本。

定时器的时间要素分为两类:

  • 单次 是指在启动定时服务后,到达预设时间时,仅运行一次任务。

  • 重复 是指在定时服务启用期间,每隔一定时间周期就执行一次任务。

定时器的任务要素,就是要执行的Lua脚本。

通过定时器配置界面可以配置定时器属性。

截图1

定时器组

通过组和项对定时器进行分层配置,便于分类查看和管理。

在应用中每个连接档案(profile)最多允许255个定时器组,每个定时器组中最多允许包含255个定时器项。

在定时器组列表栏点击鼠标右键,从弹出菜单中对定时器组进行增、删、改、查、启用和禁用操作。

截图1

弹出菜单中每项操作名称,都在括号里面备注了快捷键,即不用鼠标右键时,只要窗口焦点位于定时器组列表中,按下对应的快捷键即可激活对应操作。

定时器项

选择定时器组后,可以在该组中创建定时器项。在定时器项目列表栏中点击鼠标右键,从弹出菜单中选择增、删、改、查、启用和禁用操作。

截图1

弹出菜单中每项操作名称,都在括号里面备注了快捷键,即不用鼠标右键时,只要窗口焦点位于定时器项目列表栏中,按下对应的快捷键即可激活对应操作。

定时器时间属性

通过定时器属性设定面板,可以设置:

  • 类型 单次,执行一次;重复,执行多次。

  • 启动延迟 当到达启动时间时,再经过指定的延迟时间才真正执行任务。对于单次任务,在定时器服务启动后立即开始计时,直到满足启动延迟后开始执行任务。对于重复任务,在定时器服务启动后,经过指定的延迟后开始执行第一次任务,之后以重复间隔为周期执行任务。延迟单位为毫秒。

  • 重复方式 设定重复任务的执行周期,单位毫秒。当有效时限大于0时,重复任务从第一次执行后经过的时间不能超过有效时限,当超过了有效时限后,重复任务将不再重复执行。当最大次数大于0时,重复任务累计执行次数达到最大次数后不再重复执行。当有效时限和最大次数都大于0时,当满足二者其一(或判断)后重复任务不再执行。

定时器脚本

当定时器到达执行时间,会执行自行编写的Lua脚本,脚本就是任务。

通过脚本编辑器,编写任务脚本,可以在脚本中声明变量、定义函数等,调用函数等。

在编写脚本过程中,随时可以点击编辑器工具栏中的试运行按钮,在独立的Lua虚拟机实例中测试脚本执行过程。

保存定时器

点击保存按钮可以将所有定时器组、定时器项属性和脚本内容都保存到本地磁盘缓存中。

点击保存并重启按钮,可以保存所有定时器,并将最新的定时器配置加载到定时器服务中。

点击放弃按钮,可以放弃本次对定时器的修改。

在未点击保存并重启按钮之前,所有的编辑操作都是隔离的缓存中进行的,不会影响到定时器服务中已加载定时器。

操作定时器服务

点击开启服务关闭服务按钮,可以对定时器服务进行开启和停止操作。

历史版本

从历史版本列表中,可以选择某个历史版本加载到内存中进行查看或编辑,当对某个历史版本进行编辑并保存后,就会成为最新版本。

注意:定时器和触发器的版本是共用的。当在定时器配置界面选择某个历史版本时,也会同时加载对应的触发器版本内容到内存中。