【发布时间】:2015-04-18 14:17:09
【问题描述】:
我们的应用 - Rails 4.1,Passenger 4,使用 Capistrano 3.1 部署。
在处理信用卡交易时,我将其记录在我们的数据库中,然后点击 Authorize.net 以实际收取 $。成功后,我会在我们的系统中更新交易。
我想确保在等待 Authorize.net 响应时,Passenger 不会重新启动。一种选择是查询数据库以查看是否有待处理的事务并等待重新启动乘客。
如何加载 Rails Env 并从 Capistrano 任务访问模型? rake 任务很容易。 deploy.rb 中的类似内容:
task :restart do
on roles(:app), in: :sequence, wait: 5 do
If Donations.pending == true
sleep 5
else
execute :touch, release_path.join('tmp/restart.txt')
end
end
end
我也愿意接受其他建议。我提前感谢您的任何建议。
【问题讨论】:
标签: ruby-on-rails passenger capistrano3