Skip to main content

Crate tibba_runtime

Crate tibba_runtime 

Source
Expand description

进程运行时:运行时状态、运行时资源与运行时编排。

三者都描述「正在运行的这个进程」,与请求处理、存储访问无关,故同 crate:

模块内容feature
app_stateAppState:服务标识、运行标志、并发计数、启动时间始终编译
ctxtask-local 请求上下文 CTX / Context始终编译
process进程 CPU / 内存 / 文件描述符 / 磁盘读写采样process-info
hook启动前 / 关闭后钩子:register_task + run_before_tasks / run_after_tasks始终编译
schedulercron 定时任务:[register_job_task] + run_scheduler_jobsscheduler

hook 管「启动/关闭各跑一次」,scheduler 管「按 cron 周期性反复跑」。 与 tibba-job(Postgres 异步任务队列)的分工:本 crate 是进程内编排, 不落库、不跨进程重试。

两个可选 feature 默认关闭:sysinfotokio-cron-scheduler 传递依赖较重, 只用 AppState / CTX / 钩子的下游不必为其付出编译代价。

Structs§

AppState
线程安全的应用状态,包含服务标识、生命周期及流控所需的并发计数器。
Context
当前请求的追踪上下文,记录设备 ID、Trace ID、起始时间和登录账号。

Statics§

CTX
Tokio task-local 变量,存储当前请求的追踪上下文,生命周期与请求任务绑定。

Traits§

Task
生命周期钩子 trait,用于在应用启动/关闭时执行自定义逻辑。

Functions§

register_task
注册一个具名钩子任务。同名任务重复注册时,新任务会覆盖旧任务。
run_after_tasks
按优先级降序执行所有已注册的 after 钩子(应用关闭后调用)。 任务错误仅记日志,所有任务都会被执行;本函数始终返回 Ok(())
run_before_tasks
按优先级升序执行所有已注册的 before 钩子(应用启动前调用)。 任一任务返回错误时立即停止并向上传播。

Type Aliases§

BoxFuture
装箱的异步 Future,用于 trait object 场景下的异步方法返回类型。