Grow with AppMaster Grow with AppMaster.
Become our partner arrow ico

在AppMaster中使用任务调度器

在AppMaster中使用任务调度器

AppMaster应用程序后台的任务调度器,如同后台的经典案例一样,创造了重复的场景。例如,当你需要在一个时间表上做一个特定的动作。这种任务的经典案例是清理服务器上的临时文件、每周备份、根据给定的算法生成报告等。

让我们考虑一个在AppMaster应用程序后台使用任务调度器的例子。假设你想建立一个进程,每天早上9点向用户发送天气信息到他的手机号码。

因此,该任务被分为几个逻辑阶段。

  • 安装和配置发送手机信息的模块
  • 创建和配置一个外部请求API进程
  • 在应用程序后端设置一个调度器

1.安装和配置发送移动信息的模块。Nexmo模块允许你在AppMaster应用程序中整合向选定号码发送短信的能力。

Nexmo module

以下业务流程会随着模块的安装自动安装。

  • Nexmo.Send SMS- 允许你通过Nexmo模块向指定号码发送信息。

Nexmo.Send SMS - 允许你通过Nexmo模块向指定的号码发送信息。

  • Phone [电话] - 将要发送信息的电话号码。
  • 内容[字符串] - 文本信息。

Nexmo Send SMS

2.免费的OpenWeather API网络资源将被用作天气数据源(https://openweathermap.org/api)。第一步是创建一个外部请求API模板。API请求模板呈现在外部API请求标签的业务流程部分。要创建一个新的模板,点击创建API请求。

Create API request AppMaster

请求类型。GET

请求地址: https://api.openweathermap.org/data/2.5/weather

查询参数。

  • Lat [字符串] - 纬度
  • Lon [字符串] - 经度
  • Appid [字符串] - OpenWeather API密钥

作为这项任务的一部分,我们只对响应主体中的几个字段感兴趣(https://openweathermap.org/api/one-call-3)

  • Temp [float] - 温度
  • Temp_min [float] - 最小温度
  • Temp_max [float] - 最大温度
  • Pressure [float] - 压力
  • Humidity [float] - 湿度

Request GET AppMaster

3.在设置任务调度器之前,你需要创建一个业务流程,它将通过API接收天气信息。该业务流程看起来如下。

Business Process no-code AppMaster

  • 制作天气查询模型 - 创建一个虚拟的请求参数模型。Lon, lat - 所需地点的坐标,appid - OpenWeather服务的API密钥。
  • API请求。Weather - 负责与OpenWeather API交互的业务流程
  • 扩展天气。Body Model Out - 为了部署Body响应模型而需要的。

Business Process AppMaster

  • 扩展天气。Body Model Out_main - 扩展请求-响应Body的主体模型,以便获得温度(temp)。
  • To String - 将temp字段的值转换为字符串类型。
  • Nexmo:发送短信--向指定的电话号码(Phone)发送一条含有温度(Content)信息的信息。

在 "日程安排 "标签的业务流程部分设置一个日程安排程序。

计划表选项卡中的调度器设置因其类型不同而不同。

让我们来详细考虑一下它们中的每一个

1.每日 - 允许配置每日时间表

Scheduler settings AppMaster

  • 时间 - 定义调度器启动所选BP的UTC+0的时间。
  • 一周的天数 - 定义调度器一周工作的天数。
  • 自动启动 - 如果设置为 "真",如果前一个BP没有完成,新的BP将不会启动。默认值。False(假)。
  • 自动重试 - 如果进程被中断/没有成功启动,则自动重新启动。

重试失败的项目处理 - 重新启动进程的尝试次数。

每次重试前的等待 - 每次拍摄前的延迟时间,以重新启动进程。

  • 强制退出 - 如果在几秒钟内没有完成,就强制终止进程。默认情况下为真。完成前的秒数为3秒,默认为3秒。

2.月度 - 月度计划表

scheduler monthly planner

  • 时间 - 定义调度器启动所选BP的UTC+0的时间。
  • 一周的天数 - 由两个设置组成。

重复频率。

  • 每第一次
  • 每二天
  • 每三个
  • 每四次
  • 这一天

星期--定义一周中的一天

  • 月 - 确定月份
  • 自动启动 - 如果设置为 "真",新的PSU将不会被启动,除非很快完成。默认值。False(假)。
  • 自动重试 - 如果进程被中断/未启动,则自动重启该进程

重试处理失败的项目 - 进程重新启动的次数。

每次重试前的等待 - 每次尝试重新启动进程前的延迟时间。

  • 强制退出 - 如果一个进程在几秒钟内没有完成,则终止该进程。默认情况下为真。完成前的秒数为3秒,默认为3秒。

3.Periodically - 允许你灵活地配置调度器的频率

scheduler periodically no code

  • 每一次--能够设置每N秒/分钟/小时/天的重复性。默认:每1小时一次。
  • 自动启动 - 如果设置为True,如果前一个BP没有完成,新的BP将不会启动。默认值。假的。
  • 自动重试--如果进程被中断/没有成功启动,则自动重启该进程

重试失败的项目处理 - 重新启动进程的尝试次数。

每次重试前的等待 - 每次尝试重启进程前的延迟时间。

  • 强制退出 - 如果在几秒钟内没有完成,就强制终止进程。默认情况下为真。完成前的秒数为3秒,默认为3秒。

4.启动应用程序后--单次任务计划器

scheduler after Starting App

  • Delay - 定义了应用程序启动和启动之间的延迟。默认情况下 - 0秒
  • 自动重试--如果进程被中断/没有成功启动,则自动重启该进程

重试失败的项目处理 - 重新启动进程的尝试次数。

每次重试前的等待 - 每次尝试重启进程前的延迟时间。

  • 强制退出 - 如果在几秒钟内没有完成,就强制终止进程。默认情况下为真。完成前的秒数为3秒,默认为3秒。

5.在完成应用之前--每次应用结束时运行调度器

scheduler no code

  • 自动重试--如果进程被中断/没有成功启动,则自动重启该进程

重试失败的项目处理 - 重新启动进程的尝试次数。

每次重试前的等待 - 每次尝试重启进程前的延迟时间。

  • 强制退出 - 如果在几秒钟内没有完成,则强制终止该进程。默认情况下为真。完成前的秒数,默认为3秒。

在调度器设置的Params选项卡中,当BP被调度器启动时,也可以向BP输入传递参数。

Params no-code

在我们的例子中,调度器的设置是这样的。

  • 消息将在每天上午9点(UTC+0)发送
  • 如果进程没有立即启动,自动尝试重启进程3次,两次尝试之间有10分钟的延迟。
  • 如果一个进程在三秒钟内没有完成,则强行终止该进程。

scheduler no-code

我们的应用程序生活和工作在后台,所以为了让它工作,只要发布它就可以了。

相关帖子

如何开发可扩展的酒店预订系统:完整指南
如何开发可扩展的酒店预订系统:完整指南
了解如何开发可扩展的酒店预订系统,探索架构设计、主要功能和现代技术选择,以提供无缝的客户体验。
从头开始开发投资管理平台的分步指南
从头开始开发投资管理平台的分步指南
探索创建高性能投资管理平台的结构化路径,利用现代技术和方法来提高效率。
如何根据您的需求选择合适的健康监测工具
如何根据您的需求选择合适的健康监测工具
了解如何选择适合您的生活方式和需求的健康监测工具。全面的指南可帮助您做出明智的决定。
免费开始
有灵感自己尝试一下吗?

了解 AppMaster 强大功能的最佳方式是亲身体验。免费订阅,在几分钟内制作您自己的应用程序

将您的想法变为现实