【问题标题】:crontab shows the mysql errorcrontab 显示 mysql 错误
【发布时间】:2017-07-29 09:22:44
【问题描述】:

我正在使用 'whenever' gem 创建 rails 应用程序。

我在 User 模型中定义了函数,我想每早上 7 点执行一次函数。 但是我的函数没有正确执行,并且显示错误。

schedule.rb

set :output, 'log/crontab.log'

set :environment, :production

every 1.day, at: '7:00 am' do
   runner 'User.create_group'
end

crontab.log

/Users/michel/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/mysql2-0.4.8/lib/mysql2/client.rb:89:in `connect': Access denied for user ''@'localhost' to database 'appnorth_production' (Mysql2::Error)

这是我的 database.yml

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password:
  socket: /tmp/mysql.sock

development:
  <<: *default
  database: appnorth_development

test:
  <<: *default
  database: appnorth_test

production:
  <<: *default
  database: appnorth_production
  username: appnorth
  password: <%= ENV['APPNORTH_DATABASE_PASSWORD'] %>

有人帮我吗?

【问题讨论】:

  • 请发布您的config/database.yml
  • 感谢您的评论。我添加了 config/database.yml。
  • 尝试删除默认下的用户名和密码
  • 显示同样的错误...

标签: mysql ruby-on-rails ruby ruby-on-rails-4


【解决方案1】:

请在 schedule.rb 中插入以下行。 还有,你能试试吗?

job_type :runner, "export :environment_variable=:environment &amp;&amp; cd :path &amp;&amp; bin/rails runner ':task' :output"

【讨论】:

  • 你的 crontab 显示了什么?如果您执行以下命令,如果您使用 ubuntu,您的 crontab 将在 /var/spool/cron/crontabs/michel 中更新。 bundle exec whenever --update-crontab我想看。你能试试吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-21
  • 2014-01-21
  • 2014-12-06
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多