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

Serverless 应用引擎把这个脚本放在里面,应该怎么做?

Serverless 应用引擎把这个脚本放在里面,应该怎么做?这个执行命令示例有点看不懂#!/bin/bash

检查是否提供了端口号

if [ "$#" -ne 1 ]; then
echo "Usage: $0 "
exit 1
fi

将第一个参数赋值为端口号

PORT=$1

日志文件位置

LOG_FILE="script_log.txt"

当前时间戳

TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")

执行 curl 请求并捕获 HTTP 状态码

resp=$(curl -i -m 2 -o /dev/null -s -w %{http_code} "http://127.0.0.1:$PORT/actuator/health")

记录时间戳和响应码

echo "$TIMESTAMP - HTTP Response Code: $resp" >> $LOG_FILE

检查响应并记录结果

if test $resp -ge 200 && test $resp -le 399; then
echo "$TIMESTAMP - check http://127.0.0.1:$PORT/actuator/health successful" >> $LOG_FILE
else
echo "$TIMESTAMP - check http://127.0.0.1:$PORT/actuator/health failed" >> $LOG_FILE
echo "$TIMESTAMP - Script ended with exit code 1" >> $LOG_FILE
exit 1
fi

记录脚本成功完成和退出码

echo "$TIMESTAMP - Script completed successfully with exit code 0" >> $LOG_FILE
exit 0image.png
如果我用二进制方式,直接把上面的脚本保存成healthcheck,然后修改为
/app/healthcheck
8080
这样行不行?

展开
收起
真的很搞笑 2024-02-06 10:05:56 50 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Serverless应用引擎中,你可以将脚本放在项目的根目录下,然后在serverless.yml文件中配置对应的事件触发器。以下是一个示例:

    1. 首先,确保你的脚本具有可执行权限。在终端中,使用chmod +x script.sh命令为脚本添加可执行权限。

    2. 将脚本文件(如script.sh)放在项目的根目录下。

    3. 编辑serverless.yml文件,添加一个事件触发器,如下所示:

    functions:
      yourFunctionName:
        handler: script.handler
        events:
          - http:
              path: yourPath
              method: get
    
    1. script.sh脚本中,添加一个名为handler的函数,该函数将在触发事件时执行。例如:
    #!/bin/bash
    
    function handler() {
      # 在这里编写你的脚本逻辑
      echo "Hello, World!"
    }
    
    # 调用handler函数
    handler
    
    1. 部署并测试你的Serverless应用。当触发器被触发时,script.sh中的handler函数将被执行。
    2024-02-06 20:50:51
    赞同 展开评论 打赏
  • 把端口号和路径改成你的应用就OK ,此回答整理自钉群“【2群】Serverless应用引擎(SAE)用户群”

    2024-02-06 11:08:39
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

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

    更多
    SAE 引领应用步入 Serverless 全托管新时代 立即下载
    Serverless时代下大规模微服务应用运维的最佳实践 立即下载
    云效携手SAE助力掌讯科技持续降本提效 立即下载