- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在 AWS Fargate 上部署我的 FastAPI 应用程序,前面有一个应用程序负载均衡器。该应用程序调用 AWS Aurora。我的堆栈如下
我的容器在本地或 EC2 实例上部署时运行良好,但在 Fargate 上部署时工作人员在启动期间超时。日志没有给我任何错误的线索(见下文)。
我试图解决这个问题的事情:
这些都没有任何效果。
但是,当尝试部署准系统 FastAPI 应用程序(只有一个根路由,没有依赖项)时,该应用程序设法启动并且我可以通过负载均衡器访问它。一旦我添加了我的自定义路由,就会出现问题。
我还有哪些其他选项可以对此进行调试?如果 guincorn 无法启动我的工作人员,是否有办法记录问题?
03:05:16 Checking for script in /app/prestart.sh
03:05:16 Running script /app/prestart.sh
03:05:16 Running inside /app/prestart.sh, you could add migrations to this file, e.g.:
03:05:16 #! /usr/bin/env bash
03:05:16 # Let the DB start
03:05:16 sleep 10;
03:05:16 # Run migrations
03:05:16 alembic upgrade head
03:05:17 [2020-04-03 03:05:17 +0000] [1] [DEBUG] Current configuration:
03:05:17 config: /app/app/gunicorn_conf.py
03:05:17 bind: ['0.0.0.0:80']
03:05:17 backlog: 2048
03:05:17 workers: 2
03:05:17 worker_class: uvicorn.workers.UvicornWorker
03:05:17 threads: 2
03:05:17 worker_connections: 1000
03:05:17 max_requests: 0
03:05:17 max_requests_jitter: 0
03:05:17 timeout: 120
03:05:17 graceful_timeout: 30
03:05:17 keepalive: 120
03:05:17 limit_request_line: 4094
03:05:17 limit_request_fields: 100
03:05:17 limit_request_field_size: 8190
03:05:17 reload: False
03:05:17 reload_engine: auto
03:05:17 reload_extra_files: []
03:05:17 spew: False
03:05:17 check_config: False
03:05:17 preload_app: False
03:05:17 sendfile: None
03:05:17 reuse_port: False
03:05:17 chdir: /app
03:05:17 daemon: False
03:05:17 raw_env: []
03:05:17 pidfile: None
03:05:17 worker_tmp_dir: None
03:05:17 user: 0
03:05:17 group: 0
03:05:17 umask: 0
03:05:17 initgroups: False
03:05:17 tmp_upload_dir: None
03:05:17 secure_scheme_headers: {'X-FORWARDED-PROTOCOL': 'ssl', 'X-FORWARDED-PROTO': 'https', 'X-FORWARDED-SSL': 'on'}
03:05:17 forwarded_allow_ips: ['127.0.0.1']
03:05:17 accesslog: None
03:05:17 disable_redirect_access_to_syslog: False
03:05:17 access_log_format: %(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"
03:05:17 errorlog: -
03:05:17 loglevel: debug
03:05:17 capture_output: False
03:05:17 logger_class: gunicorn.glogging.Logger
03:05:17 logconfig: None
03:05:17 logconfig_dict: {}
03:05:17 syslog_addr: udp://localhost:514
03:05:17 syslog: False
03:05:17 syslog_prefix: None
03:05:17 syslog_facility: user
03:05:17 enable_stdio_inheritance: False
03:05:17 statsd_host: None
03:05:17 statsd_prefix:
03:05:17 proc_name: None
03:05:17 default_proc_name: app.main:app
03:05:17 pythonpath: None
03:05:17 paste: None
03:05:17 on_starting: <function OnStarting.on_starting at 0x7ff9c4742ef0>
03:05:17 on_reload: <function OnReload.on_reload at 0x7ff9c4757050>
03:05:17 when_ready: <function WhenReady.when_ready at 0x7ff9c4757170>
03:05:17 pre_fork: <function Prefork.pre_fork at 0x7ff9c4757290>
03:05:17 post_fork: <function Postfork.post_fork at 0x7ff9c47573b0>
03:05:17 post_worker_init: <function PostWorkerInit.post_worker_init at 0x7ff9c47574d0>
03:05:17 worker_int: <function WorkerInt.worker_int at 0x7ff9c47575f0>
03:05:17 worker_abort: <function WorkerAbort.worker_abort at 0x7ff9c4757710>
03:05:17 pre_exec: <function PreExec.pre_exec at 0x7ff9c4757830>
03:05:17 pre_request: <function PreRequest.pre_request at 0x7ff9c4757950>
03:05:17 post_request: <function PostRequest.post_request at 0x7ff9c47579e0>
03:05:17 child_exit: <function ChildExit.child_exit at 0x7ff9c4757b00>
03:05:17 worker_exit: <function WorkerExit.worker_exit at 0x7ff9c4757c20>
03:05:17 nworkers_changed: <function NumWorkersChanged.nworkers_changed at 0x7ff9c4757d40>
03:05:17 on_exit: <function OnExit.on_exit at 0x7ff9c4757e60>
03:05:17 proxy_protocol: False
03:05:17 proxy_allow_ips: ['127.0.0.1']
03:05:17 keyfile: None
03:05:17 certfile: None
03:05:17 ssl_version: 2
03:05:17 cert_reqs: 0
03:05:17 ca_certs: None
03:05:17 suppress_ragged_eofs: True
03:05:17 do_handshake_on_connect: False
03:05:17 ciphers: TLSv1
03:05:17 raw_paste_global_conf: []
03:05:17 [2020-04-03 03:05:17 +0000] [1] [INFO] Starting gunicorn 19.9.0
03:05:17 [2020-04-03 03:05:17 +0000] [1] [DEBUG] Arbiter booted
03:05:17 [2020-04-03 03:05:17 +0000] [1] [INFO] Listening at: http://0.0.0.0:80 (1)
03:05:17 [2020-04-03 03:05:17 +0000] [1] [INFO] Using worker: uvicorn.workers.UvicornWorker
03:05:17 [2020-04-03 03:05:17 +0000] [8] [INFO] Booting worker with pid: 8
03:05:17 [2020-04-03 03:05:17 +0000] [9] [INFO] Booting worker with pid: 9
03:05:17 [2020-04-03 03:05:17 +0000] [1] [DEBUG] 2 workers
03:07:17 [2020-04-03 03:07:17 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:8)
03:07:17 [2020-04-03 03:07:17 +0000] [1] [CRITICAL] WORKER TIMEOUT (pid:9)
03:07:17 [2020-04-03 03:07:17 +0000] [12] [INFO] Booting worker with pid: 12
03:07:18 [2020-04-03 03:07:18 +0000] [13] [INFO] Booting worker with pid: 13
03:07:54 [2020-04-03 03:07:54 +0000] [1] [INFO] Handling signal: term
最佳答案
我必须在我的 Aurora 数据库安全组的入口规则中将我的 ECS 任务的安全组列入白名单。
关于docker - Gunicorn/Uvicorn worker 在 AWS Fargate 上超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61032857/
wait() 和 wait(timeout) 之间有什么区别。无论如何 wait() 需要等待通知调用,但为什么我们有 wait(timeout)? 那么 sleep(timeout) 和 wait(
如何向以下脚本添加超时?我希望它将文本显示为“超时”。 var bustcachevar = 1 //bust potential caching of external pages after in
我正在使用 Firebase once() 方法来检索 React Native 移动应用中的值。问题是,如果手机离线,once() 永远不会返回。文档说 ref.off() 方法应该取消回调,但这似
我在一个表中有一个大型数据集(超过 200 万行,每行超过 100 列),存储在 cassandra 中,几个月前(也许是 2 个月?)我能够执行一个简单的命令来跟踪该表中的记录数量: SELECT
我使用 jquery 开发移动应用程序,下面是我的代码,当我向包含的页面添加 5 或 6 行时,一切正常。但如果我添加多行显示错误消息:Javascript 执行超时。 function succes
我正在使用一个 javascript 确认,它将在 15 分钟后重复调用。如果用户未选择确认框中的任何选项我会在等待 1 分钟后重定向他。如何实现这一目标?我的代码是这样的 var timeo
每次我在沙箱环境中运行这段代码时,我都会超时并最终崩溃。我已经通过多个 IDE 运行它,但仍然找不到任何语法错误。如果有人看到了我没有看到的东西,我将非常感谢您的意见。 //assign variab
更新联系人后我会显示一条消息,1500 毫秒后我会转到另一个页面。我是这样做的: onSubmit() { if (this.form.valid) {
从昨天开始,我拼命尝试使用最新版本的 PHPMailer 运行一个非常简单的电子邮件脚本。 最荒谬的是,同一个脚本在两台服务器上不起作用,但在另一台服务器上却起作用。 这是我的尝试(来自 PHPMai
我已阅读以下 2 篇文章并尝试实现相同的文章。 我的代码是这样的,超时发生在这里 HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url);
我正在尝试连接到 wsdl 服务, 但收到此错误: wsdl 错误:获取 http://api.didww.com/api/?wsdl - HTTP 错误: header 的套接字读取超时 本地没有问
我在使用 Ansible 的 CentOs7 实例上从 Artifactory 下载 jar 文件时遇到问题。这是我第一次在 Linux 实例上这样做。 我在每个 Windows 实例上都使用了 wi
在过去的两天里,我一直在寻找原因,我在互联网上和堆栈上尝试了很多解决方案。 我有一个带有 ubuntu 16.04 和 apache2 的专用 VM -> 服务器版本:Apache/2.4.18 (U
我正处于构建 PHP 应用程序的早期阶段,其中一部分涉及使用 file_get_contents()从远程服务器获取大文件并将它们传输给用户。例如,要获取的目标文件是 200 mB。 如果下载到服务器
我正在尝试连接到本地网络内的路由器。到目前为止,我已经使用了 TcpClient。 检查我的代码: public static void RouterConnect() {
我正在尝试构建一段代码来搜索使用 Mechanize 和 Ruby 超时的页面。我的测试台包括一个专门写入超时的页面,以及 3 个正常运行的页面。这是代码: urls = ['http://examp
我是 python 的新手,也是语义网查询领域的新手。我正在使用 SPARQLWrapper 库查询 dbpedia,我搜索了库文档但未能找到从 sparqlWrapper 触发到 dbpedia 的
我正在从 GenServer 中的句柄信息功能调用 elixir genserver 以添加电话号码获取表单客户端。但是一旦调用了handle_call,所有者进程就会崩溃[超时]。请帮忙。 全局创建
假设我的 WCF 服务中有以下执行链: ServiceMethod 调用并等待 Method1,然后调用并等待 Method2,后者调用并等待 Method3。最后 ServiceMethod 在返回
目前我正在开发一个从远程服务器发送和接收文件的应用程序。为了进行网络操作,我正在使用 QNetworkAccessManager。 要上传文件,我使用 QNetworkAccessManager::p
我是一名优秀的程序员,十分优秀!