Ruby on Rails无法从runner脚本连接到数据库

时间:2009-04-16 22:33:49

标签: mysql ruby-on-rails

在我的应用程序中,我有一个按计划运行的跑步者脚本(crontab)需要连接到数据库并获取一些信息。当我尝试运行查询时(使用Model.find(...)),我收到以下错误:

.../vendor/rails/railties/lib/commands/runner.rb:45: .../vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:471:in `real_connect': Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) (Mysql::Error)

1 个答案:

答案 0 :(得分:0)

通常这种情况是由于任一路径(因此您没有看到正确的database.yml或其他东西)或权限(您没有以正确的用户身份进行)。

通常适用于我的模式是放置一个crontab条目:

cd path/to/rails/app-root; script/runner MyController.thing_to_do

在应用程序运行的(伪)-user的crontab中。