如何在生产中运行 delayed_job?
How to run delayed_job in production?
我正在尝试 运行 使用 $ RAILS_ENV=production bin/delayed_job start
延迟生产作业(Elastic Beanstalk,AWS),但是我收到以下权限错误:
/opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/delayed_job-4.1.1/lib/delayed/command.rb:85:in `mkdir': Permission denied @ dir_s_mkdir - /var/app/current/tmp/pids (Errno::EACCES)
from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/delayed_job-4.1.1/lib/delayed/command.rb:85:in `daemonize'
from bin/delayed_job:5:in `<main>'
这可能不是 Delayed Job 的问题,但我真的无法在任何地方找到此权限问题的答案,我希望有人知道我可以做些什么来让它工作生产。
非常感谢任何帮助!谢谢!
这与其说是权限问题,不如说是文件夹丢失。您应该使用 ssh
和 运行 登录远程:
sudo mkdir -p /var/app/current/tmp/pids
sudo chmod +xw /var/app/current/tmp/pids
在喂食偏执狂的情况下,也可能 chown
给用户,实际上 运行s ruby 代码在那里,但在这种情况下没有必要,因为这都是关于存储 PID。
- 检查哪个用户 delay_job 以
开头
- 检查
/var/app/current/tmp/pids
权限,权限必须适合用户。
- 如果
pids
不存在,检查/var/app/current/tmp
权限
我正在尝试 运行 使用 $ RAILS_ENV=production bin/delayed_job start
延迟生产作业(Elastic Beanstalk,AWS),但是我收到以下权限错误:
/opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/delayed_job-4.1.1/lib/delayed/command.rb:85:in `mkdir': Permission denied @ dir_s_mkdir - /var/app/current/tmp/pids (Errno::EACCES)
from /opt/rubies/ruby-2.2.3/lib/ruby/gems/2.2.0/gems/delayed_job-4.1.1/lib/delayed/command.rb:85:in `daemonize'
from bin/delayed_job:5:in `<main>'
这可能不是 Delayed Job 的问题,但我真的无法在任何地方找到此权限问题的答案,我希望有人知道我可以做些什么来让它工作生产。
非常感谢任何帮助!谢谢!
这与其说是权限问题,不如说是文件夹丢失。您应该使用 ssh
和 运行 登录远程:
sudo mkdir -p /var/app/current/tmp/pids
sudo chmod +xw /var/app/current/tmp/pids
在喂食偏执狂的情况下,也可能 chown
给用户,实际上 运行s ruby 代码在那里,但在这种情况下没有必要,因为这都是关于存储 PID。
- 检查哪个用户 delay_job 以 开头
- 检查
/var/app/current/tmp/pids
权限,权限必须适合用户。 - 如果
pids
不存在,检查/var/app/current/tmp
权限