Deploying Django channels app on google flex engine

天大地大妈咪最大 提交于 2020-02-25 04:15:48

问题


I am working on django channels and getting problem while deploying them on google flex engine,first I was getting error of 'deployment has failed to become healthy in the allotted time' and resolved it by adding readiness_check in app.yaml,now I am getting below error:

(gcloud.app.deploy) Operation [apps/socketapp-263709/operations/65c25731-1e5a-4aa1-83e1-34955ec48c98] timed out. This operation may still be underway.

App.yaml

runtime: python
env: flex
runtime_config:
  python_version: 3
instance_class: F4_HIGHMEM

handlers:
# This configures Google App Engine to serve the files in the app's
# static directory.
- url: /static
  static_dir: static/
- url: /.*
  script: auto
# [END django_app]

readiness_check:
  check_interval_sec: 120
  timeout_sec: 40
  failure_threshold: 5
  success_threshold: 5
  app_start_timeout_sec: 1500

How can I fix this issue,any suggestions?


回答1:


The following error is due to several issues:

1) You aren't configuring correctly your app.yaml file. The resource request in App Engine Flexible is not through instance_class option, to request resources, you've to use resources option like following:

resources:
  cpu: 2
  memory_gb: 2.3
  disk_size_gb: 10
  volumes:
   - name: ramdisk1
     volume_type: tmpfs
     size_gb: 0.5

2) You're missing an entrypoint for your app. To deploy Django channels, they suggest to have an entrypoint for Daphne server. Add in your app.yaml the following code:

entrypoint: daphne -b 0.0.0.0 -p 8080 mysite.asgi:application

3) After doing the previous, if you still get the same error, it's possible that your In-use IP addresses quota in the region of your App Engine Flexible application has reached its limit. To check this issue, you can go to "Activity" tab of your project home page. Their, you can see warnings of quota limits and VM's failing to be created.

App Engine by default leaves the previous versions of your App, and running that may take IP addresses.You can delete the previous versions and/or request an increase of your IP address quota limit.

Also update gcloud tools and SDK which may resolve the issue.

To check your in-use addresses click here and you will be able to increase your quota by clicking the 'Edit Quotas' button in the Cloud Console.



来源:https://stackoverflow.com/questions/59662501/deploying-django-channels-app-on-google-flex-engine

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!