作业概述
许多应用程序需要作业调度,或者需要在未来执行某些操作。作业API是一个用于管理和安排这些未来作业的工具,可以在特定时间或间隔执行。
作业API不仅帮助您安排作业,Dapr内部还利用调度服务来安排actor提醒。
在Dapr中,作业包括:

工作原理
作业API是一个作业调度器,而不是作业的执行者。设计上保证作业至少执行一次,注重可靠性和可扩展性,而非精确性。这意味着:
- 保证: 作业不会在计划时间之前被调用。
- 不保证: 作业在到期时间之后被调用的具体时间。
所有计划作业的详细信息和用户相关数据都存储在调度器服务的Etcd数据库中。 您可以使用作业来:
- 延迟您的pubsub消息传递。 您可以在未来的特定时间发布消息(例如:一周后,或特定的UTC日期/时间)。
- 调度应用程序之间的服务调用方法。
场景
作业调度在以下场景中可能会有所帮助:
-
自动化数据库备份: 确保数据库每天备份以防止数据丢失。安排一个备份脚本在每晚2点运行,创建数据库备份并将其存储在安全位置。
-
定期数据处理和ETL(提取、转换、加载): 处理和转换来自各种来源的原始数据并将其加载到数据仓库中。安排ETL作业在特定时间运行(例如:每小时、每天)以获取新数据、处理并更新数据仓库中的信息。
-
电子邮件通知和报告: 通过电子邮件接收每日销售报告和每周性能摘要。安排一个作业生成所需的报告并在每天早上6点通过电子邮件发送每日报告,每周一早上8点发送每周摘要。
-
维护任务和系统更新: 执行定期维护任务,如清理临时文件、更新软件和检查系统健康状况。安排各种维护脚本在非高峰时段运行,如周末或深夜,以尽量减少对用户的干扰。
-
金融交易的批处理: 处理需要在每个工作日结束时批处理和结算的大量交易。安排批处理作业在每个工作日下午5点运行,汇总当天的交易并执行必要的结算和对账。
Dapr的作业API确保这些场景中表示的任务在没有人工干预的情况下始终如一地执行,提高效率并减少错误风险。
特性
作业API提供了多种特性,使您可以轻松调度作业。
在多个副本之间调度作业
调度器服务支持在多个副本之间扩展作业调度,同时保证作业仅由一个调度器服务实例触发。
试用作业API
您可以在应用程序中试用作业API。在Dapr安装完成后,您可以开始使用作业API,从如何:调度作业指南开始。
下一步
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.