惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
SecWiki News
SecWiki News
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
小众软件
小众软件
C
CERT Recently Published Vulnerability Notes
Jina AI
Jina AI
N
Netflix TechBlog - Medium
GbyAI
GbyAI
IT之家
IT之家
Apple Machine Learning Research
Apple Machine Learning Research
AWS News Blog
AWS News Blog
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
C
Cybersecurity and Infrastructure Security Agency CISA
I
Intezer
T
Tor Project blog
P
Palo Alto Networks Blog
P
Privacy & Cybersecurity Law Blog
P
Privacy International News Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
T
Tailwind CSS Blog
C
Check Point Blog
Cloudbric
Cloudbric
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
Forbes - Security
Forbes - Security
Last Week in AI
Last Week in AI
S
Security Affairs
博客园 - Franky
F
Fortinet All Blogs
量子位
M
MIT News - Artificial intelligence
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
S
Secure Thoughts
V
Visual Studio Blog
AI
AI
美团技术团队
B
Blog RSS Feed
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 三生石上(FineUI控件)
阮一峰的网络日志
阮一峰的网络日志
Engineering at Meta
Engineering at Meta
人人都是产品经理
人人都是产品经理
Microsoft Security Blog
Microsoft Security Blog
T
Threatpost
Cyberwarzone
Cyberwarzone

洛屿的小站

一种简单的卡尔曼滤波器设计 Cadence - 应律而动,落指成音 Zephyr - 聆风之息,为你而奏 不改一行插件代码,实现消息优先级与阻断 在 butterfly 主题中添加首页点集动画(基于p2line项目) 你好,2026 stm32f4xx-ads1256驱动 stm32f4xx-ad9854并行驱动 主动式网站状态监测实现及其应用 右键菜单加入用Trae打开文件和文件夹 三角洲行动ID映射表 洛玖SDK说明 为网页文章开头添加原文连接 Hexo-Butterfly主题在主页添加GitHub贡献日历 Proteus中555定时器仿真问题 装饰器 洛玖开发日记 STS3032舵机获取力矩输出 kotlin网页前后端那些事 mspm0g3507-ad9850 奇怪的bug Paddle模型转PaddleLite 人工智能考核 构建一个yolov3网络 yolo和paddle模型常见输出参数 PaddleDetection 随便写的一些东西 实验室C语言第一次考核题目讲解及相关代码解读 C语言神经网络房价预测系统 C、C++数组,指针,指针数组,数组指针的区别 C、C++的大括号是必须的部分吗? C、C++预处理详解 C、C++其他关键字详解 C、C++存储类型关键字详解 C、C++控制语句关键字详解 C、C++数据类型关键字详解 C、C++关键字 C++药品管理系统 Bi-LSTM(Attention)的PyTorch实现 C语言实现波士顿房价预测 easy库的使用 edgeboardFZ3A相关问题 Predict.py的编写 Paddle环境搭建 百度Paddle模型训练 GMD09601-0.96OLED显示屏 【LeetCode 1617】统计子树中城市之间最大距离 C语言学习相关 STM32阵列按键 CH32(F10X F20X) 最短路 拓扑排序
洛玖定时任务系统
洛屿 · 2026-05-01 · via 洛屿的小站

概述

洛玖采用基于 FFI 消息总线的定时任务系统。插件通过向 luo9_task topic 发布请求来注册定时任务,luo9_bot内含轻量级 Cron 调度器,到期后通过同一 topic 向插件推送事件。

架构

1
2
3
4
5
6
7
8
插件 ──publish──> luo9_task (请求: schedule/cancel)

┌───────┴───────┐
│ Cron 调度器 │ ← luo9_bot内 tokio task
│ 每秒检查匹配 │
└───────┬───────┘

插件 <──pop──── luo9_task (事件: tick)

Task 协议

注册定时任务

插件发布 JSON 到 luo9_task topic:

1
2
3
4
5
6
{
"action": "schedule",
"task_name": "my_task",
"cron": "0 */5 * * * *",
"payload": "任意数据"
}

取消定时任务

1
2
3
4
{
"action": "cancel",
"task_name": "my_task"
}

接收定时事件

调度器触发后,插件通过订阅 luo9_task 接收:

1
2
3
4
5
{
"event": "tick",
"task_name": "my_task",
"payload": "任意数据"
}

区分方式:请求有 action 字段,事件有 event 字段。

Cron 表达式

6 字段格式:秒 分 时 日 月 周

字段 范围
0-59
0-59
0-23
1-31
1-12 (支持 JAN-DEC)
0-7 (0和7=周日, 支持 SUN-SAT)

特殊字符

字符 说明 示例
* 所有值 * * * * * *
? 不指定(日/周互斥) 0 0 12 15 * ?
- 范围 0 0 9-17 * * *
, 列表 0 0 0 1,15 * *
/ 步长 0 */5 * * * *
L 最后(日: 月末; 周: 最后周X) 0 0 0 L * * / 0 0 0 * * 5L
W 最近工作日(不跨月) 0 0 0 15W * *
# 第N个星期X 0 0 0 * * 2#3(第3个周一)

常用示例

Cron 表达式 含义
0 */5 * * * * 每5分钟
0 0 9 * * * 每天 9:00
0 0 0 * * 1 每周一 0:00
0 0 12 15 * ? 每月15号 12:00
0 0 0 L * * 每月最后一天 0:00
0 0 0 * * 5L 每月最后一个周五 0:00
0 0 0 * * 2#3 每月第3个周一 0:00

插件端使用(Rust)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use luo9_sdk::bus::Bus;

fn register_task() {
let request = serde_json::json!({
"action": "schedule",
"task_name": "epic_remind",
"cron": "0 0 9 * * *",
"payload": "epic_daily_check"
});
Bus::topic("luo9_task").publish(&request.to_string()).ok();
}

fn cancel_task() {
let request = serde_json::json!({
"action": "cancel",
"task_name": "epic_remind"
});
Bus::topic("luo9_task").publish(&request.to_string()).ok();
}

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 洛屿的小站

打赏

  • wechat

    wechat

  • alipay

    alipay