Heroku rake db:migrate导致错误R13(附加错误) - >无法附加到进程

Gre*_*ton 11 rake ruby-on-rails heroku dbmigrate

我在heroku上有一个rails应用程序,我无法运行我最新的数据库更改.跑步heroku run rake db:migrate给了我

Running `rake db:migrate` attached to terminal... up, run.3167
!    Heroku client internal error.
!    Search for help at: https://help.heroku.com
!    Or report a bug at: https://github.com/heroku/heroku/issues/new

Error:       Operation timed out - connect(2) (Errno::ETIMEDOUT)
Backtrace:   /Users/gregg/.heroku/client/lib/heroku/client/rendezvous.rb:40:in `initialize'
             /Users/gregg/.heroku/client/lib/heroku/client/rendezvous.rb:40:in `open'
             /Users/gregg/.heroku/client/lib/heroku/client/rendezvous.rb:40:in `block in start'
             /usr/local/heroku/ruby/lib/ruby/1.9.1/timeout.rb:68:in `timeout'
             /Users/gregg/.heroku/client/lib/heroku/client/rendezvous.rb:31:in `start'
             /Users/gregg/.heroku/client/lib/heroku/command/run.rb:132:in `rendezvous_session'
             /Users/gregg/.heroku/client/lib/heroku/command/run.rb:119:in `run_attached'
             /Users/gregg/.heroku/client/lib/heroku/command/run.rb:24:in `index'
             /Users/gregg/.heroku/client/lib/heroku/command.rb:218:in `run'
             /Users/gregg/.heroku/client/lib/heroku/cli.rb:28:in `start'
             /usr/bin/heroku:24:in `<main>'

Command:     heroku run rake db:migrate
Version:     heroku-toolbelt/3.2.1 (x86_64-darwin10.8.0) ruby/1.9.3
Run Code Online (Sandbox Code Playgroud)

当我拖尾日志时,我看到以下内容:

2014-01-04T20:27:56.438268+00:00 heroku[run.3167]: Awaiting client
2014-01-04T20:27:56.531495+00:00 heroku[run.3167]: State changed from starting to up
2014-01-04T20:26:58.751010+00:00 heroku[router]: at=info method=GETpath=/assets/SanukWebPro-Light.woff host=stormy-savannah-1911.herokuapp.com fwd="98.210.221.215" dyno=web.1 connect=6ms service=134ms status=200 bytes=38568
2014-01-04T20:27:11.027485+00:00 heroku[router]: at=info method=GET path=/articles/new host=stormy-savannah-1911.herokuapp.com fwd="98.210.221.215" dyno=web.1 connect=3ms service=54ms status=200 bytes=7577
2014-01-04T20:28:26.446139+00:00 heroku[run.3167]: Error R13 (Attach error) -> Failed to attach to process
2014-01-04T20:28:27.994826+00:00 heroku[run.3167]: Process exited with status 128
2014-01-04T20:28:28.005837+00:00 heroku[run.3167]: State changed from up to complete
Run Code Online (Sandbox Code Playgroud)

And*_*yev 18

尝试在后台运行它:

heroku run:detached rake db:migrate
Run Code Online (Sandbox Code Playgroud)

https://devcenter.heroku.com/articles/one-off-dynos#running-tasks-in-background

  • @BobDoolittle`run:detached`并没有完全解决问题,它只是没有尝试附加,因此附加不会失败.一般来说,`heroku run`意味着你的本地控制台将附加到你在一次性dyno中运行的命令,你将能够看到它的输出并与它交互(stdin,stdout,stderr)连接.另一方面,`heroku run:detached`将无法连接本地控制台.你将无法与它交互(没有标准输入),你必须检查日志以查看命令是否成功. (3认同)
  • 我想了解为什么“run:detached”可以解决问题,以供将来参考。我知道它有效,但不知道为什么有效。 (2认同)