我需要在Heroku上部署一个使用Unicorn服务器的Rails网站。我偶尔会收到以下错误信息:
这是我的application.js文件:ActionView::Template::Error: execution expired
(in /app/app/assets/javascripts/application.js)
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require_tree
//= require jquery.qtip.js
错误日志并没有清楚地显示出导致此类错误的原因。例如,最近的一条日志如下所示。是什么导致了这样的错误,或者我应该如何诊断它们?
独角兽配置:
# config/unicorn.rb
worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout 15
preload_app true
#...
捕捉超时:
#timeout.rb
Rack::Timeout.timeout = 13
日志:
app/web.2: 开始GET请求 "/articles/20" ... heroku/web.1: 重启 heroku/web.1: 发送SIGTERM停止所有进程 app/web.1: Unicorn工作进程拦截到TERM信号并不做任何处理。等待主进程发送QUIT信号。Unicorn工作进程拦截到TERM信号并不做任何处理。等待主进程发送QUIT信号。 app/web.1: Unicorn工作进程拦截到TERM信号并不做任何处理。等待主进程发送QUIT信号。 app/web.1: Unicorn主进程拦截到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 -- : 回收了#个工作进程=0 app/web.1: I, INFO -- : 回收了#个工作进程=2 app/web.1: I, INFO -- : 回收了#个工作进程=1 app/web.1: I, INFO -- : 主进程完成 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`启动进程