VenkateshRoshan commited on
Commit
2c38e04
·
1 Parent(s): 67d5dc2

flask ping code updated

Browse files
Files changed (3) hide show
  1. .github/workflows/deploy.yml +12 -12
  2. app.py +16 -0
  3. src/deploy_sagemaker.py +5 -1
.github/workflows/deploy.yml CHANGED
@@ -36,18 +36,18 @@ jobs:
36
  id: login-ecr
37
  uses: aws-actions/amazon-ecr-login@v1
38
 
39
- - name: Build and push Docker image
40
- env:
41
- ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
42
- ECR_REPOSITORY: customer-support-chatbot
43
- IMAGE_TAG: latest
44
- run: |
45
- docker build \
46
- --build-arg AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} \
47
- --build-arg AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }} \
48
- --build-arg AWS_DEFAULT_REGION=${{ secrets.AWS_REGION }} \
49
- -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
50
- docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
51
 
52
  - name: Deploy model to SageMaker
53
  run: |
 
36
  id: login-ecr
37
  uses: aws-actions/amazon-ecr-login@v1
38
 
39
+ # - name: Build and push Docker image
40
+ # env:
41
+ # ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
42
+ # ECR_REPOSITORY: customer-support-chatbot
43
+ # IMAGE_TAG: latest
44
+ # run: |
45
+ # docker build \
46
+ # --build-arg AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} \
47
+ # --build-arg AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }} \
48
+ # --build-arg AWS_DEFAULT_REGION=${{ secrets.AWS_REGION }} \
49
+ # -t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
50
+ # docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
51
 
52
  - name: Deploy model to SageMaker
53
  run: |
app.py CHANGED
@@ -169,6 +169,22 @@ def create_chat_interface():
169
 
170
  return interface
171
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
172
  if __name__ == "__main__":
173
  demo = create_chat_interface()
174
  print("Starting Gradient server...")
 
169
 
170
  return interface
171
 
172
+ from flask import Flask, jsonify
173
+ import threading
174
+
175
+ app = Flask(__name__)
176
+
177
+ # Health check endpoint for SageMaker
178
+ @app.route("/ping", methods=["GET"])
179
+ def ping():
180
+ return jsonify({"status": "ok"}), 200
181
+
182
+ # Start Flask app on a separate thread
183
+ def run_flask():
184
+ app.run(host="0.0.0.0", port=8081) # Different port for Flask
185
+
186
+ threading.Thread(target=run_flask).start()
187
+
188
  if __name__ == "__main__":
189
  demo = create_chat_interface()
190
  print("Starting Gradient server...")
src/deploy_sagemaker.py CHANGED
@@ -95,7 +95,11 @@ def deploy_app(acc_id, region_name, role_arn, ecr_repo_name, endpoint_name="cust
95
  logger.info(f"Deploying model to endpoint: {endpoint_name}")
96
  logger.info(f"Deployment configuration: {deployment_config}")
97
 
98
- predictor = model.deploy(**deployment_config)
 
 
 
 
99
 
100
  logger.info(f"Successfully deployed to endpoint: {endpoint_name}")
101
  return predictor
 
95
  logger.info(f"Deploying model to endpoint: {endpoint_name}")
96
  logger.info(f"Deployment configuration: {deployment_config}")
97
 
98
+ predictor = model.deploy(**deployment_config,health_check_timeout_seconds=180, # Optionally, increase the timeout
99
+ environment={
100
+ "SAGEMAKER_CONTAINER_PORT": "8080",
101
+ "FLASK_HEALTHCHECK_PORT": "8081",
102
+ })
103
 
104
  logger.info(f"Successfully deployed to endpoint: {endpoint_name}")
105
  return predictor