首页 > 解决方案 > 旧版本/不存在版本上的 Ruby 搜索模板

问题描述

我正在使用 ruby​​ on rails 并使用名为 UserNotifier 的 gem 向用户发送通知。

最近我尝试更改这些通知的模板,但发送的电子邮件根本没有改变。我正在使用哨兵检查一些事件和错误,然后发生了一件奇怪的事情,模板被搜索,旧版本和删除版本。


哨兵日志

缺少模板 user_notifier/mailer/confirm_contribution_subject 和 {:locale=>[:pt], :formats=>[:html, :text, :js, :css, :ics, :csv, :vcf, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip], :variants=>[], :handlers= >[:erb, :builder, :raw, :ruby, :slim, :coffee]}。搜索:

“/home/文件夹/文件夹/releases/20190530165426/app/views/catarse_bootstrap”

“/home/文件夹/文件夹/releases/20190530165426/app/views”


我想搜索另一个版本,甚至更好,当前版本,但我不知道这个错误路径保存在哪里。

我也在使用sidekiq ...我搜索了代码和一些路径变量,但到目前为止什么都没有。我不确定是否有人更改了 Capistrano 默认路径,我现在正在检查这个......我肯定错过了一些东西......


[编辑] Capistrano realease_path 链接到正确的路径

[EDIT2] 我在想它关于“独角兽”/“Nginx”的一些东西,也许使用的是一个旧的 PID 工作者......

类似于这个“resque”问题的东西: Rails.root 在 Resque 作业期间指向生产中的错误目录

标签: ruby-on-railspathcapistranounicornsentry

解决方案


我发现了真正的问题...

从五月开始就有一个“Sidekiq”任务在运行。它应该在每次部署后重新启动,但部署代码并没有杀死这个旧进程。

我用这个

ps -eo pid,lstart,cmd

查找所有正在运行的进程并找到自日期 (20190530165426) 以来运行的旧“sidekiq”

现在只使用新的“sidekiq”进程将其杀死并“重新部署”。


推荐阅读