开发者社区 > 云原生 > Serverless > 正文

Serverless 应用引擎现在要服务端实时监控订单,有数据就自动更新,怎么设置并启动守护进程?

Serverless 应用引擎现在要服务端实时监控订单,有数据就自动更新,怎么设置并启动守护进程?

展开
收起
冰激凌甜筒 2023-04-10 13:25:18 349 0
4 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在阿里云Serverless应用引擎(SAE)中,您可以通过编写自定义的后台守护进程(也称为守护线程、定时任务等)来实现对订单数据的实时监控和自动更新。下面是一种可能的实现方式:

    1、编写后台守护进程代码:使用您熟悉的编程语言(例如Java、Python、Node.js等),编写一个后台守护进程的代码,用于定时或实时地监控订单数据的变化。这段代码可以通过调用阿里云SAE提供的SDK或API,与订单数据源进行交互,例如查询数据库、调用接口等。

    2、在SAE应用中创建自定义的容器:在SAE应用控制台中,创建一个自定义的容器,用于运行您编写的后台守护进程代码。您可以选择合适的容器类型、配置资源、上传代码等。

    3、配置守护进程的启动和运行参数:在SAE应用控制台中,配置您编写的后台守护进程的启动和运行参数,例如守护进程的入口文件、运行命令、日志输出路径等。这些参数将在容器启动时生效。

    4、启动容器并监控日志:在SAE应用控制台中,启动您创建的容器,并监控容器的日志输出。您可以通过日志输出来查看您编写的守护进程的运行状态和日志信息,包括订单数据的监控和更新情况。

    具体的后台守护进程的实现方式和启动参数配置可能因SAE的版本、编程语言、应用配置等因素而有所不同。建议在实施前参考SAE的官方文档、编程语言的官方文档以及相关编程规范和最佳实践,以确保正确实现并启动守护进程,实现对订单数据的实时监控和自动更新。同时,确保您的守护进程代码符合阿里云SAE的安全和稳定要求,并遵循相关的法律法规和隐私保护规定。

    2023-04-10 15:01:25
    赞同 展开评论 打赏
  • 坚持这件事孤独又漫长。
    1. 首先,在函数计算中创建一个函数,用于实时监控订单的数据更新。

    2. 然后,使用阿里云的消息服务创建一个主题,用来发布订单数据更新的消息。

    3. 在函数计算中开启一个守护进程,用于实时监听该主题的消息。可以使用 Python 的 SDK 来实现:

    from aliyunsdkcore.client import AcsClient
    from aliyunsdkcore.request import CommonRequest
    import json
    
    client = AcsClient(
        "your_access_key_id", "your_access_key_secret", "cn-hangzhou"
    )
    
    request = CommonRequest()
    request.set_method("POP_SUBSCRIBE_MESSAGE")
    request.set_protocol_type("https") # 注意协议类型是 HTTPS
    request.set_endpoint("ons-cn-hangzhou.aliyuncs.com") # 设置接入点
    request.set_domain("ons.cn-hangzhou.aliyuncs.com") # 设置消息服务的域名
    request.set_version("2019-02-14") # 设置 API 版本
    request.set_action_name("OnsSubscriptionCreate") # 设置唯一标识接口名称
    request.add_query_param("InstanceId", "your_instance_id") # 设置实例 ID
    request.add_query_param("RegionId", "cn-hangzhou") # 设置区域
    request.add_query_param("Topic", "your_topic") # 设置主题名称
    request.add_query_param("Protocol", "HTTP") # 设置监听协议
    request.add_query_param("NotifyStrategy", "EXPONENTIAL_DECAY_RETRY") # 设置监听策略
    request.add_query_param("NotifyContentFormat", "JSON") # 设置消息格式
    
    response = client.do_action_with_exception(request)
    
    while True:
        message = json.loads(response)["Message"]
        # 这里可以对接收到的消息进行处理
    
    1. 在函数计算中设置该函数的触发器为 OSS,即订单数据的存储源。当有新的订单数据上传到 OSS 上时,该函数就会被触发,处理订单数据的更新,并将更新后的数据发布到消息服务的主题上。

    2. 在最后,运行该函数,开启守护进程。此时,当有订单数据更新时,函数就会被触发并处理更新操作,然后将更新后的数据发布到消息服务的主题上,守护进程也会自动监听该主题的消息,实现了服务端实时监控订单的功能。

    2023-04-10 14:05:17
    赞同 1 展开评论 打赏
  • 参考文档https://www.ruanyifeng.com/blog/2016/02/linux-daemon.html,此回答整理自钉群“【2群】Serverless应用引擎(SAE)用户群”

    2023-04-10 13:59:56
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    你好,这需要编写一个守护进程脚本来监控订单数据。脚本可以使用Python、Node.js、Java 等等。脚本需要能够连接到你的订单数据库,并实时查询订单数据,并根据需要进行更新操作。

    2023-04-10 13:55:59
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • Serverless 应用引擎
  • 相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载