2009-04-16 2 views
2

내 응용 프로그램에는 데이터베이스에 연결하여 정보를 얻는 일정 (crontab)으로 실행되는 러너 스크립트가 있습니다.Ruby on Rails는 러너 스크립트에서 데이터베이스에 연결할 수 없습니다.

.../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) 

답변

0

일반적으로 이런 종류의 그렇게 당신이 바로 나타나지 않는 (때문에 어느 경로의 발생 : 나는 쿼리 (Model.find를 (사용 ...))를 실행하려고하면 나는 다음과 같은 오류가 발생합니다 database.yml 또는 무언가) 또는 권한 (올바른 사용자로하지 않는 것). 앱이 실행되는 (의사) -user의 crontab을에

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

: 일반적으로 나를 위해 작동

패턴은 이런 crontab 항목을 넣어하는 것입니다.

+0

내 러너 스크립트는 기본적으로 프로덕션 환경을 실행하지 못했습니다. 프로덕션 데이터베이스를 사용하도록 강요하면 문제가 해결됩니다. – Goro

관련 문제