gpt4 book ai didi

ruby-on-rails - 如何修复 Rails 中的执行过期错误?

转载 作者:行者123 更新时间:2023-12-01 02:22:12 25 4
gpt4 key购买 nike

我在 Heroku 上有一个带有 Unicorn 服务器的 Rails 网站。我偶尔会收到类似以下错误的通知:

ActionView::Template::Error: execution expired
(in /app/app/assets/javascripts/application.js)



这是我的 application.js 文件:
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require_tree
//= require jquery.qtip.js

错误日志没有清楚地显示导致此类错误的原因。例如,最近的日志如下所示。什么可能导致此类错误,或者我应该如何诊断它们?

unicorn 配置:
# config/unicorn.rb
worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout 15
preload_app true
#...

捕捉超时:
#timeout.rb
Rack::Timeout.timeout = 13

日志:

app/web.2:开始获取“/articles/20”...
heroku/web.1:骑自行车
heroku/web.1:使用 SIGTERM 停止所有进程
app/web.1:Unicorn worker 拦截 TERM 并且什么都不做。等待 master 发送 QUIT Unicorn worker 拦截 TERM 并且什么都不做。等待 master 发送 QUIT
app/web.1:Unicorn worker 拦截 TERM 并且什么都不做。等待 master 发送 QUIT
app/web.1:Unicorn master 拦截 TERM 并发送 QUIT 代替
heroku/router: at=info method=GET path=/articles/20 host=... dyno=web.2 connect=1ms service=79ms status=200 bytes=8123
app/web.1: I, INFO -- : 收获#worker=0
app/web.1: I, INFO -- : 收获#worker=2
app/web.1: I, INFO -- : 收获#worker=1
app/web.1: I, INFO -- : master 完成
heroku/web.1:错误 R12(退出超时)-> 至少有一个进程未能在 SIGTERM 的 10 秒内退出
heroku/web.1:使用 SIGKILL 停止剩余进程
heroku/web.1:进程退出,状态为 137
heroku/web.1:状态从上变为下
heroku/web.1:状态从下变为开始
heroku/web.1:使用命令`bundle exec unicorn -p 14131 -c ./config/unicorn.rb` 启动进程

最佳答案

如果这实际上是由渲染 application.js 引起的,您可能设法关闭了 Assets 预编译,否则该文件将被预编译并且只是一个几乎不会超时的文件。

检查 Assets 预编译并重新启用它,如果它实际上被禁用。

如果不是这种情况,文件可能非常大,您应该重新考虑是否实际使用了 javascripts Assets 文件夹中的所有内容。

关于ruby-on-rails - 如何修复 Rails 中的执行过期错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19504452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com