gpt4 book ai didi

ruby-on-rails - 每当用户隐含为应用程序名称时,Rails

转载 作者:行者123 更新时间:2023-12-04 19:27:43 25 4
gpt4 key购买 nike

whenever 在 Ubuntu 20 服务器上生成的 cronjob gem 失败,因为日志记录:

PG::ConnectionBad: FATAL:  Peer authentication failed for user "*name_of_application*"
database.yml 文件定义
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>

development:
<<: *default
应用程序按预期处理所有迁移、记录创建、更新等,因此与 PG 的连接是正确的。但是,似乎每当 gem 想要以用户 name_of_application 的身份连接时
按照文档和内联帮助,我跑了
bundle exec whenever --user *name_of_linux_user*
无济于事。 schedule.rb如下:
env :PATH, ENV['PATH']

job_type :rbenv_rake, %Q{export PATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/usr/bin:$PATH; eval "$(rbenv init -)"; \
cd :path && :environment_variable=:environment :bundle_command rake :task --silent :output }

job_type :rbenv_runner, %Q{export PATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/usr/bin:$PATH; eval "$(rbenv init -)"; \
cd :path && :bundle_command :runner_command -e :environment ':task' :output }


every 1.day, :at => '00:22 am' do
rake "cleanup:promos", :output => "log/sweep_log.log"
end
为什么是 whenever默认为应用程序的名称,应该如何更正?

最佳答案

每当 gem 假定应用程序在生产模式下运行时,因此呈现给 crontab

cd /home/deploy/app_name/releases/20211025093952  && RAILS_ENV=production
该数据库尚未创建,因此导致用户连接错误。
 && RAILS_ENV=development
解决了这个用例。

关于ruby-on-rails - 每当用户隐含为应用程序名称时,Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69581494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com