计划
工作流可以基于计划重复运行。这适用于工作流针对动态扩展的输入运行的情况,例如API服务或文件目录。
计划方法接受一个cron表达式、一个静态元素列表(这些元素动态扩展,例如API服务、目录列表)以及一个可选的最大迭代次数。
以下是几个示例cron表达式。
# ┌─────────────── 分钟 (0 - 59)
# | ┌───────────── 小时 (0 - 23)
# | | ┌─────────── 月份中的天 (1 - 31)
# | | | ┌───────── 月份 (1 - 12)
# | | | | ┌─────── 星期几 (0 - 6)
# | | | | | ┌───── 秒 (0 - 59)
# | | | | | |
* * * * * * # 每秒运行一次
0/5 * * * * # 每5分钟运行一次
0 0 1 * * # 每月1日运行
0 0 1 1 * # 1月1日午夜运行
0 0 * * mon,wed # 每周一和周三运行
Python
使用Python简单地计划工作流。
workflow = Workflow(tasks)
workflow.schedule("0/5 * * * *", elements)
请参阅下面的链接以获取更详细的示例。
笔记本 | 描述 | |
---|---|---|
工作流调度 | 使用cron表达式调度工作流 |
配置
使用配置计划简单的工作流。
workflow:
index:
schedule:
cron: 0/5 * * * *
elements: [...]
tasks: [...]
# 创建并运行工作流
from txtai import Application
# 创建并运行工作流
app = Application("workflow.yml")
# 等待计划的工作流
app.wait()
请参阅以下链接以获取有关cron表达式的更多信息。