[英]Rails whenever user implied as application name
whenever
gem 失敗時,在 Ubuntu 20 服務器上生成的 cronjob,作為日志注冊:
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
解決了這個用例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.