SuperAPI AI 工具集

trigger-dev

编程与开发

查看项目

更新于 10-16 01:15

技能介绍

用途:Trigger.dev 是面向 TypeScript 的开源后台任务(background jobs)平台,提供持久化执行、内置重试、调度和实时监控,用于构建长时间运行、可中断恢复的后台作业。

主要能力:

  • 持久化等待:wait.for({ seconds: 30 })、wait.until({ date })、wait.forToken() 会挂起执行且不消耗超时,运行在等待后继续,而非重新调用。
  • 无默认超时:任务本身没有内置超时,需要限制时可在任务级或全局配置中设置 maxDuration。
  • 批量触发:tasks.batchTrigger() 单次调用最多接受 1,000 个条目。
  • 带结果的子任务:childTask.triggerAndWait() 会挂起父任务直到子任务完成并返回类型化 Result 对象,访问 .output 前需检查 .ok,或调用 .unwrap()。
  • 生命周期钩子:配置中的 onStart、onSuccess、onFailure 与 init 用于处理横切关注点,无需改任务代码。
  • 构建扩展:@trigger.dev/build/extensions 对 Prisma、FFmpeg、Playwright 和系统包提供官方支持,替代手工 Docker 层。

使用方式与限制:

  • 编写代码前必须先获取实时文档:WebFetch("https://trigger.dev/llms.txt"),复杂场景(高级并发、生命周期钩子、构建扩展)请获取 https://trigger.dev/docs/llms-full.txt;训练数据中的 API 可能过时,不要假设 API 存在,须对照当前文档验证。
  • 每个任务都必须从所在文件导出,未导出的任务会被静默忽略、不会运行。
  • 不要用 Promise.all 包裹 triggerAndWait 或 batchTriggerAndWait,该模式明确不受支持并会导致失败。
  • 使用 AbortTaskRunError 可在不重试的情况下使运行失败(如校验失败);抛出其他错误会触发重试策略。
  • 每个环境(dev、staging、prod)有各自的 TRIGGER_SECRET_KEY,用错密钥会在错误环境中运行且没有明显报错。
  • processKeepAlive 可减少冷启动,但进程随时可能被杀,不要依赖任务运行之间的内存状态持久化。

适用场景:需要持久化执行、等待、重试与调度的 TypeScript 后台作业。收费、价格与平台细节暂未提供。