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

阿里函数计算中Custom Container 中的golang 怎么响应定时器事件呢?

阿里函数计算中Custom Container 中的golang 怎么响应定时器事件呢?Custom Container 非http server 也要相应CAport吗?

展开
收起
小小鹿鹿鹿 2023-11-20 22:45:15 48 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在阿里云函数计算中, Custom Container 中的 Golang 可以通过以下方式响应定时器事件:

    1. 使用 cron 任务:您可以使用 crontab 命令在 Golang 中定义定时器任务,以定期执行某个函数。cron 任务可以根据指定的时间间隔执行,例如每分钟、每天或每周执行一次。
    2. 使用第三方库:此外,您还可以使用第三方库,例如 go-cron、gocron 或 github.com/robfig/cron 等,以更容易地定义定时器任务。
    3. 使用阿里云 API:此外,您还可以使用阿里云提供的 API 来实现定时任务。例如,您可以使用 ECS 实例中的 Scheduled Tasks API 或 Alibaba Cloud Scheduler 服务。

    对于 Custom Container 是否需要响应 CA port 的问题,通常情况下不需要,除非您的 Custom Container 包含 HTTP 服务,并且需要处理外部 HTTP 请求。否则,您可以直接在 Container 内部使用各种工具和库来处理定时器任务,而无需处理外部接口。

    2023-11-21 17:08:29
    赞同 1 展开评论 打赏
  • 在阿里函数计算中,对于Custom Container的Golang应用,如果需要响应定时器事件,可以利用Golang的"time"包中的"Ticker"类型。这种方式允许你设置一个定时器,到达设定的时间后触发特定的事件。

    至于是否需要响应CAport,这取决于你的应用需求。如果你的应用是一个Web Server模式的Custom Container函数,函数计算会将一些请求转发给你的HTTP Server,例如Common Headers、Body、POST方法以及 /invoke、/initialize 路径。在这种情况下,你的应用可能需要监听一个端口来接收和处理这些请求。特别是,如果实现了类似官方支持的Runtime(例如 Golang Runtime),则需要实现context和event函数签名。此外,用户要实现一个最简单的 Custom runtime,需要创建一个http server,并在15秒内完成启动。这个http server应该监听在固定端口(例如9000),并且必须监听0.0.0.0:9000或者*:9000端口,不能使用127.0.0.1:9000,否则会导致请求超时。

    因此,如果你的Custom Container非http Server模式的函数并不需要处理定时器事件或者接收和处理来自函数计算平台的请求,那么你的应用就不需要响应CAport。

    2023-11-21 16:15:39
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

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