Rails 3.1 + Heroku = 工人崩溃 [英] Rails 3.1 + Heroku = Workers crashing

查看:61
本文介绍了Rails 3.1 + Heroku = 工人崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以,我刚刚创建了一个全新的 Rails 3.1.1 应用(Ruby 1.8.7).

在那里放几个脚手架,安装 Authlogic,并创建一个新的 Heroku 应用程序.将其推送到 Heroku 并迁移数据库.

一切都很好.我可以使用 Authlogic 创建新用户帐户,并在 Heroku 上的模型中创建新记录.

不过,有趣的事情.如果我将我的 'worker dynos' 从零增加到任何值,heroku 日志会显示那些试图启动但他们崩溃的工人.

但是,我没有安装延迟作业.并且从未在此应用中引入延迟工作

除了 Twilio 或任何高级代码之外,我还没有介绍任何高级" gem.这只是带有 authlogic 的新 Rails 应用程序.也没有新的佣金任务.

另一个注意事项:在我的本地开发机器上,我尝试在不同的应用程序上安装 Delayed Job 并失败了.延迟工作的幽灵"会不会困扰着这款新应用?

谢谢!

下面的代码.....

在我将 Web 工作者从 0 增加到 2 后,Heroku 会记录.

2012-04-01T11:44:04+00:00 heroku[api]:通过 doug@goinfield.com 扩展到 web=1,worker=22012-04-01T11:44:07+00:00 heroku[worker.2]:使用命令`bundle exec rake jobs:work`启动进程2012-04-01T11:44:07+00:00 heroku[worker.1]:使用命令`bundle exec rake jobs:work`启动进程2012-04-01T11:44:08+00:00 heroku[worker.2]:状态从启动变为启动2012-04-01T11:44:08+00:00 heroku[worker.1]:状态从启动变为启动2012-04-01T11:44:11+00:00 应用程序[worker.2]:耙子中止了!2012-04-01T11:44:11+00:00 app[worker.2]:不知道如何构建任务jobs:work"2012-04-01T11:44:11+00:00 应用程序[worker.2]:2012-04-01T11:44:11+00:00 app[worker.2]:(通过使用 --trace 运行任务查看完整跟踪)2012-04-01T11:44:12+00:00 heroku[worker.2]:进程以状态 1 退出2012-04-01T11:44:12+00:00 heroku[worker.2]:状态从 up 变为 crashed2012-04-01T11:44:12+00:00 heroku[worker.2]:状态从崩溃变为创建2012-04-01T11:44:12+00:00 heroku[worker.2]:状态从创建更改为开始2012-04-01T11:44:13+00:00 应用程序[worker.1]:耙子中止!2012-04-01T11:44:13+00:00 app[worker.1]:不知道如何构建任务jobs:work"2012-04-01T11:44:13+00:00 应用程序[worker.1]:2012-04-01T11:44:13+00:00 app[worker.1]:(通过使用 --trace 运行任务查看完整跟踪)2012-04-01T11:44:14+00:00 heroku[worker.1]:进程以状态 1 退出2012-04-01T11:44:14+00:00 heroku[worker.1]:状态从 up 变为 crashed2012-04-01T11:44:14+00:00 heroku[worker.1]:状态从崩溃变为创建2012-04-01T11:44:14+00:00 heroku[worker.1]:状态从创建更改为开始2012-04-01T11:44:16+00:00 heroku[worker.2]:使用命令`bundle exec rake jobs:work`启动进程2012-04-01T11:44:17+00:00 heroku[worker.2]:状态从启动变为启动2012-04-01T11:44:18+00:00 heroku[worker.1]:使用命令`bundle exec rake jobs:work`启动进程2012-04-01T11:44:19+00:00 heroku[worker.1]:状态从启动变为启动2012-04-01T11:44:20+00:00 应用程序[worker.2]:耙子中止!2012-04-01T11:44:20+00:00 app[worker.2]:不知道如何构建任务jobs:work"2012-04-01T11:44:20+00:00 应用程序[worker.2]:2012-04-01T11:44:20+00:00 app[worker.2]:(通过使用 --trace 运行任务查看完整跟踪)2012-04-01T11:44:22+00:00 heroku[worker.2]:进程以状态 1 退出2012-04-01T11:44:22+00:00 heroku[worker.2]:状态从 up 变为 crashed2012-04-01T11:44:22+00:00 应用程序[worker.1]:耙子中止了!2012-04-01T11:44:22+00:00 app[worker.1]:不知道如何构建任务jobs:work"2012-04-01T11:44:22+00:00 应用程序[worker.1]:2012-04-01T11:44:22+00:00 app[worker.1]:(通过使用 --trace 运行任务查看完整跟踪)2012-04-01T11:44:23+00:00 heroku[worker.1]:进程以状态 1 退出2012-04-01T11:44:23+00:00 heroku[worker.1]:状态从 up 变为 crashed

Gemfile.lock

GEM远程:http://rubygems.org/眼镜:actionmailer (3.1.1)动作包(= 3.1.1)邮件 (~> 2.3.0)动作包 (3.1.1)活动模型(= 3.1.1)主动支持 (= 3.1.1)建设者(〜> 3.0.0)erubis (~> 2.7.0)i18n (~> 0.6)机架 (~> 1.3.2)机架缓存(~> 1.1)机架安装(~> 0.8.2)机架测试(~> 0.6.1)链轮(~> 2.0.2)活动模型 (3.1.1)主动支持 (= 3.1.1)建设者(〜> 3.0.0)i18n (~> 0.6)活动记录 (3.1.1)活动模型(= 3.1.1)主动支持 (= 3.1.1)海尔 (~> 2.2.1)tzinfo (~> 0.3.29)活动资​​源 (3.1.1)活动模型(= 3.1.1)主动支持 (= 3.1.1)主动支持 (3.1.1)multi_json (~> 1.0)可寻址 (2.2.7)海尔 (2.2.3)authlogic (3.1.0)活动记录(> = 3.0.7)活动记录(> = 3.0.7)建造者 (3.0.0)咖啡轨 (3.1.1)咖啡脚本 (>= 2.2.0)栏杆 (~> 3.1.0)咖啡脚本 (2.2.0)咖啡脚本源执行器咖啡脚本源 (1.2.0)erubis (2.7.0)execjs (1.3.0)multi_json (~> 1.0)heroku (2.23.0)发射(> = 0.3.2)netrc (~> 0.7.1)休息客户端(~> 1.6.1)红宝石远足 (1.2.1)i18n (0.6.0)jquery-rails (1.0.16)导轨 (~> 3.0)雷神 (~> 0.14)json (1.5.1)发射(2.1.0)可寻址(~> 2.2.6)邮件 (2.3.3)i18n (>= 0.4.0)哑剧类型(~> 1.16)树梢(~> 1.4.8)哑剧类型 (1.18)multi_json (1.2.0)netrc (0.7.1)页 (0.13.2)多语言 (0.3.3)机架 (1.3.6)机架缓存 (1.2)机架 (>= 0.4)机架安装 (0.8.3)机架 (>= 1.0.0)机架 SSL (1.3.2)架子机架测试 (0.6.1)机架 (>= 1.0)导轨 (3.1.1)actionmailer (= 3.1.1)动作包(= 3.1.1)活动记录(= 3.1.1)活动资​​源 (= 3.1.1)主动支持 (= 3.1.1)捆绑器(~> 1.0)栏杆 (= 3.1.1)栏杆 (3.1.1)动作包(= 3.1.1)主动支持 (= 3.1.1)机架 SSL (~> 1.3.2)耙子 (>= 0.8.7)rdoc (~> 3.4)雷神 (~> 0.14.6)耙子 (0.9.2.2)文档 (3.12)json (~> 1.4)休息客户端(1.6.7)哑剧类型 (>= 1.16)红宝石 (0.9.4)sass (3.1.15)sass-rails (3.1.4)动作包(~> 3.1.0)栏杆 (~> 3.1.0)sass (>= 3.1.4)链轮(~> 2.0.0)倾斜 (~> 1.3.2)续集 (3.20.0)辛纳特拉 (1.0)机架 (>= 1.0)链轮 (2.0.3)远足 (~> 1.2)机架 (~> 1.0)倾斜 (~> 1.1, != 1.3.0)sqlite3 (1.3.4)sqlite3-ruby (1.3.3)sqlite3 (>= 1.3.3)水龙头 (0.3.23)机架 (>= 1.0.1)休息客户端(>= 1.4.0,< 1.7.0)续集(~> 3.20.0)sinatra (~> 1.0.0)sqlite3-ruby (~> 1.2)雷神 (0.14.6)倾斜 (1.3.3)树梢 (1.4.10)多语言多语言 (>= 0.3.1)twiliolib (2.0.7)建设者(> = 2.1.2)tzinfo (0.3.32)uglifier (1.2.4)execjs (>= 0.3.0)multi_json (>= 1.0.2)平台红宝石依赖合乎逻辑的咖啡轨(~> 3.1.1)英雄jquery-railsjsonPG导轨 (= 3.1.1)sass-rails (~> 3.1.4)sqlite3水龙头twiliolibuglifier (>= 1.0.3)

列出 gem 的 Heroku 推送

----->Heroku 接收推送----->检测到 Ruby/Rails 应用程序----->检测到的 Rails 未设置为提供 static_assets安装 rails3_serve_static_assets... 完成----->配置 Rails 3 以禁用 x-sendfile安装 rails3_disable_x_sendfile... 完成----->配置 Rails 以登录到标准输出安装 rails_log_stdout... 完成----->检测到 Gemfile,运行 Bundler 版本 1.0.7检测到未解决的依赖关系;正在安装...使用 --without development:test获取 http://rubygems.org/的源索引安装耙子 (0.9.2.2)安装 multi_json (1.2.0)安装 activesupport (3.1.1)安装构建器 (3.0.0)安装 i18n (0.6.0)安装 activemodel (3.1.1)安装erubis (2.7.0)安装机架 (1.3.6)安装机架缓存 (1.2)安装机架安装 (0.8.3)安装机架测试 (0.6.1)安装远足 (1.2.1)安装倾斜 (1.3.3)安装链轮 (2.0.3)安装动作包 (3.1.1)安装 MIME 类型 (1.18)安装多语言 (0.3.3)安装树梢 (1.4.10)安装邮件 (2.3.3)安装 actionmailer (3.1.1)安装 arel (2.2.3)安装 tzinfo (0.3.32)安装 activerecord (3.1.1)安装活动资源 (3.1.1)安装可寻址 (2.2.7)安装 authlogic (3.1.0)安装 coffee-script-source (1.2.0)安装 execjs (1.3.0)安装咖啡脚本 (2.2.0)安装rack-ssl (1.3.2)使用本机扩展安装 json (1.5.1)安装 rdoc (3.12)安装雷神 (0.14.6)安装导轨 (3.1.1)安装咖啡导轨 (3.1.1)安装launchy (2.1.0)安装 netrc (0.7.1)安装休息客户端 (1.6.7)安装 ruby​​zip (0.9.4)安装 heroku (2.23.0)安装 jquery-rails (1.0.16)使用本机扩展安装 pg (0.13.2)使用捆绑器 (1.0.7)安装导轨 (3.1.1)安装 sass (3.1.15)安装 sass-rails (3.1.4)安装续集 (3.20.0)安装 sinatra (1.0)使用本机扩展安装 sqlite3 (1.3.4)安装 sqlite3-ruby (1.3.3)安装水龙头 (0.3.23)安装 twiliolib (2.0.7)安装 uglifier (1.2.4)您的捆绑包已完成!它被安装到 ./.bundle/gems/----->编译后的 slug 大小为 7.8MB----->正在启动...完成,v4

heroku 堆栈产生这个:

 aspen-mri-1.8.6*竹mri-1.9.2竹-ree-1.8.7雪松(测试版)

解决方案

Worker dynos 专门处理延迟工作任务.

如果您没有安装 Delayed Job,那么您不应该扩展您的工作人员数量(这就是 DJ 工作的需要).

如果您想扩展您的网络动态,那么只需扩展 web=2 或任何您想要的.

我猜你的错误是因为你新扩展的 DJ 工作人员找不到任何工作要做,结果出错了.

Scale worker=0,看看是否能解决问题.

如果您想扩展 Web dynos 以获得更好的性能,那么 Web 就是您要寻找的.

有关 Heroku dyno 类型的更多文档,请访问:https://devcenter.heroku.com/articles/scaling

So, I just stood up a brand new Rails 3.1.1 app (Ruby 1.8.7).

Put a few scaffolds in there, installed Authlogic, and created a new Heroku app. Pushed it to Heroku and migrated the DB.

And all is well. I can make new user accounts with Authlogic and make new records in my models on Heroku.

Funny thing, though. If I increase my 'worker dynos' from zero to anything, the heroku logs show those workers trying to start and they crash.

But, I don't have Delayed Job installed. And never introduced Delayed Job to this app

I also haven't introduced any 'advanced' gems other than Twilio or any advanced code. It's just the new rails app with authlogic. No new rake tasks either.

One other note: On my local development machine, I tried to install Delayed Job on a different app a while back and failed. Could the 'ghosts' of delayed job be haunting this new app?

Thanks!

code below.....

Heroku logs after I increase Web workers from 0 --> 2.

2012-04-01T11:44:04+00:00 heroku[api]: Scale to web=1, worker=2 by doug@goinfield.com
2012-04-01T11:44:07+00:00 heroku[worker.2]: Starting process with command `bundle exec rake jobs:work`
2012-04-01T11:44:07+00:00 heroku[worker.1]: Starting process with command `bundle exec      rake jobs:work`
2012-04-01T11:44:08+00:00 heroku[worker.2]: State changed from starting to up
2012-04-01T11:44:08+00:00 heroku[worker.1]: State changed from starting to up
2012-04-01T11:44:11+00:00 app[worker.2]: rake aborted!
2012-04-01T11:44:11+00:00 app[worker.2]: Don't know how to build task 'jobs:work'
2012-04-01T11:44:11+00:00 app[worker.2]: 
2012-04-01T11:44:11+00:00 app[worker.2]: (See full trace by running task with --trace)
2012-04-01T11:44:12+00:00 heroku[worker.2]: Process exited with status 1
2012-04-01T11:44:12+00:00 heroku[worker.2]: State changed from up to crashed
2012-04-01T11:44:12+00:00 heroku[worker.2]: State changed from crashed to created
2012-04-01T11:44:12+00:00 heroku[worker.2]: State changed from created to starting
2012-04-01T11:44:13+00:00 app[worker.1]: rake aborted!
2012-04-01T11:44:13+00:00 app[worker.1]: Don't know how to build task 'jobs:work'
2012-04-01T11:44:13+00:00 app[worker.1]: 
2012-04-01T11:44:13+00:00 app[worker.1]: (See full trace by running task with --trace)
2012-04-01T11:44:14+00:00 heroku[worker.1]: Process exited with status 1
2012-04-01T11:44:14+00:00 heroku[worker.1]: State changed from up to crashed
2012-04-01T11:44:14+00:00 heroku[worker.1]: State changed from crashed to created
2012-04-01T11:44:14+00:00 heroku[worker.1]: State changed from created to starting
2012-04-01T11:44:16+00:00 heroku[worker.2]: Starting process with command `bundle exec rake jobs:work`
2012-04-01T11:44:17+00:00 heroku[worker.2]: State changed from starting to up
2012-04-01T11:44:18+00:00 heroku[worker.1]: Starting process with command `bundle exec rake jobs:work`
2012-04-01T11:44:19+00:00 heroku[worker.1]: State changed from starting to up
2012-04-01T11:44:20+00:00 app[worker.2]: rake aborted!
2012-04-01T11:44:20+00:00 app[worker.2]: Don't know how to build task 'jobs:work'
2012-04-01T11:44:20+00:00 app[worker.2]: 
2012-04-01T11:44:20+00:00 app[worker.2]: (See full trace by running task with --trace)
2012-04-01T11:44:22+00:00 heroku[worker.2]: Process exited with status 1
2012-04-01T11:44:22+00:00 heroku[worker.2]: State changed from up to crashed
2012-04-01T11:44:22+00:00 app[worker.1]: rake aborted!
2012-04-01T11:44:22+00:00 app[worker.1]: Don't know how to build task 'jobs:work'
2012-04-01T11:44:22+00:00 app[worker.1]: 
2012-04-01T11:44:22+00:00 app[worker.1]: (See full trace by running task with --trace)
2012-04-01T11:44:23+00:00 heroku[worker.1]: Process exited with status 1
2012-04-01T11:44:23+00:00 heroku[worker.1]: State changed from up to crashed

Gemfile.lock

GEM
  remote: http://rubygems.org/
  specs:
    actionmailer (3.1.1)
      actionpack (= 3.1.1)
      mail (~> 2.3.0)
    actionpack (3.1.1)
      activemodel (= 3.1.1)
      activesupport (= 3.1.1)
      builder (~> 3.0.0)
      erubis (~> 2.7.0)
      i18n (~> 0.6)
      rack (~> 1.3.2)
      rack-cache (~> 1.1)
      rack-mount (~> 0.8.2)
      rack-test (~> 0.6.1)
      sprockets (~> 2.0.2)
    activemodel (3.1.1)
      activesupport (= 3.1.1)
      builder (~> 3.0.0)
      i18n (~> 0.6)
    activerecord (3.1.1)
      activemodel (= 3.1.1)
      activesupport (= 3.1.1)
      arel (~> 2.2.1)
      tzinfo (~> 0.3.29)
    activeresource (3.1.1)
      activemodel (= 3.1.1)
      activesupport (= 3.1.1)
    activesupport (3.1.1)
      multi_json (~> 1.0)
    addressable (2.2.7)
    arel (2.2.3)
    authlogic (3.1.0)
      activerecord (>= 3.0.7)
      activerecord (>= 3.0.7)
    builder (3.0.0)
    coffee-rails (3.1.1)
      coffee-script (>= 2.2.0)
      railties (~> 3.1.0)
    coffee-script (2.2.0)
      coffee-script-source
      execjs
    coffee-script-source (1.2.0)
    erubis (2.7.0)
    execjs (1.3.0)
      multi_json (~> 1.0)
    heroku (2.23.0)
      launchy (>= 0.3.2)
      netrc (~> 0.7.1)
      rest-client (~> 1.6.1)
      rubyzip 
    hike (1.2.1)
    i18n (0.6.0)
    jquery-rails (1.0.16)
      railties (~> 3.0)
      thor (~> 0.14)
    json (1.5.1)
    launchy (2.1.0)
      addressable (~> 2.2.6)
    mail (2.3.3)
      i18n (>= 0.4.0)
      mime-types (~> 1.16)
      treetop (~> 1.4.8)
    mime-types (1.18)
    multi_json (1.2.0)
    netrc (0.7.1)
    pg (0.13.2)
    polyglot (0.3.3)
    rack (1.3.6)
    rack-cache (1.2)
      rack (>= 0.4)
    rack-mount (0.8.3)
      rack (>= 1.0.0)
    rack-ssl (1.3.2)
      rack
    rack-test (0.6.1)
      rack (>= 1.0)
    rails (3.1.1)
      actionmailer (= 3.1.1)
      actionpack (= 3.1.1)
      activerecord (= 3.1.1)
      activeresource (= 3.1.1)
      activesupport (= 3.1.1)
      bundler (~> 1.0)
      railties (= 3.1.1)
    railties (3.1.1)
      actionpack (= 3.1.1)
      activesupport (= 3.1.1)
      rack-ssl (~> 1.3.2)
      rake (>= 0.8.7)
      rdoc (~> 3.4)
      thor (~> 0.14.6)
    rake (0.9.2.2)
    rdoc (3.12)
      json (~> 1.4)
    rest-client (1.6.7)
      mime-types (>= 1.16)
    rubyzip (0.9.4)
    sass (3.1.15)
    sass-rails (3.1.4) 
      actionpack (~> 3.1.0)
      railties (~> 3.1.0)
      sass (>= 3.1.4)
      sprockets (~> 2.0.0)
      tilt (~> 1.3.2)
    sequel (3.20.0)   
    sinatra (1.0)
      rack (>= 1.0)
    sprockets (2.0.3)
       hike (~> 1.2)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    sqlite3 (1.3.4)
    sqlite3-ruby (1.3.3)
      sqlite3 (>= 1.3.3)
    taps (0.3.23)
       rack (>= 1.0.1)
      rest-client (>= 1.4.0, < 1.7.0)
      sequel (~> 3.20.0)
      sinatra (~> 1.0.0)
      sqlite3-ruby (~> 1.2)
    thor (0.14.6)
    tilt (1.3.3)
    treetop (1.4.10)
      polyglot
      polyglot (>= 0.3.1)
    twiliolib (2.0.7)
      builder (>= 2.1.2)
    tzinfo (0.3.32)
    uglifier (1.2.4)
      execjs (>= 0.3.0)
      multi_json (>= 1.0.2)

PLATFORMS
  ruby

DEPENDENCIES
  authlogic
  coffee-rails (~> 3.1.1)
  heroku
  jquery-rails
  json
  pg
  rails (= 3.1.1)
  sass-rails (~> 3.1.4)
  sqlite3
  taps
  twiliolib
  uglifier (>= 1.0.3)

Heroku push with gems listed

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Detected Rails is not set to serve static_assets
       Installing rails3_serve_static_assets... done
-----> Configure Rails 3 to disable x-sendfile
       Installing rails3_disable_x_sendfile... done
-----> Configure Rails to log to stdout
       Installing rails_log_stdout... done
-----> Gemfile detected, running Bundler version 1.0.7
       Unresolved dependencies detected; Installing...
        Using --without development:test
        Fetching source index for http://rubygems.org/
       Installing rake (0.9.2.2) 
       Installing multi_json (1.2.0) 
       Installing activesupport (3.1.1)    
       Installing builder (3.0.0) 
       Installing i18n (0.6.0) 
       Installing activemodel (3.1.1) 
       Installing erubis (2.7.0) 
       Installing rack (1.3.6) 
       Installing rack-cache (1.2) 
       Installing rack-mount (0.8.3) 
       Installing rack-test (0.6.1) 
       Installing hike (1.2.1) 
       Installing tilt (1.3.3) 
       Installing sprockets (2.0.3) 
       Installing actionpack (3.1.1) 
       Installing mime-types (1.18) 
       Installing polyglot (0.3.3) 
       Installing treetop (1.4.10) 
       Installing mail (2.3.3) 
       Installing actionmailer (3.1.1) 
       Installing arel (2.2.3) 
       Installing tzinfo (0.3.32) 
       Installing activerecord (3.1.1) 
       Installing activeresource (3.1.1) 
       Installing addressable (2.2.7) 
       Installing authlogic (3.1.0) 
       Installing coffee-script-source (1.2.0) 
       Installing execjs (1.3.0) 
       Installing coffee-script (2.2.0) 
       Installing rack-ssl (1.3.2) 
       Installing json (1.5.1) with native extensions 
       Installing rdoc (3.12) 
       Installing thor (0.14.6) 
       Installing railties (3.1.1) 
       Installing coffee-rails (3.1.1) 
       Installing launchy (2.1.0) 
       Installing netrc (0.7.1) 
       Installing rest-client (1.6.7) 
       Installing rubyzip (0.9.4) 
       Installing heroku (2.23.0) 
       Installing jquery-rails (1.0.16) 
       Installing pg (0.13.2) with native extensions 
       Using bundler (1.0.7) 
       Installing rails (3.1.1) 
       Installing sass (3.1.15) 
       Installing sass-rails (3.1.4) 
       Installing sequel (3.20.0) 
       Installing sinatra (1.0) 
       Installing sqlite3 (1.3.4) with native extensions 
       Installing sqlite3-ruby (1.3.3) 
       Installing taps (0.3.23) 
       Installing twiliolib (2.0.7) 
       Installing uglifier (1.2.4) 
       Your bundle is complete! It was installed into ./.bundle/gems/
-----> Compiled slug size is 7.8MB
-----> Launching... done, v4

heroku stack yields this:

  aspen-mri-1.8.6
* bamboo-mri-1.9.2
  bamboo-ree-1.8.7
  cedar (beta)

解决方案

Worker dynos work exclusively on Delayed Job tasks.

If you don't have Delayed Job installed, then you shouldn't be scaling your worker count (which is what takes care of DJ Jobs).

If you mean to scale your web dynos, then simply scale web=2 or whatever you desire.

I'm guessing your error is because your newly scaled DJ workers can't find any jobs to do, and it errors out.

Scale worker=0 and see if that fixes it.

And if you want to scale your web dynos for better performance, web is what you're looking for.

More documentation about Heroku dyno types here: https://devcenter.heroku.com/articles/scaling

这篇关于Rails 3.1 + Heroku = 工人崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆