Rails - 正确放置cron作业的位置

时间:2017-08-18 01:45:51

标签: ruby-on-rails ruby cron jobs software-quality

这个问题与代码质量和组织有关。

我正在开发一个Rails应用程序,我们每天都会执行一些cron作业。那些慢跑已经开始了,但是目前我将它们放在我的模型中,例如:

def update_boleto_orders_payment_status
    orders = Order.boleto_unpaid_orders
    orders.each do |o|
      order = HTTParty.get("https...",
                    headers: {"Authorization" => "Basic #
{encode_auth_token}"})
      order_status = JSON.parse(order.body).symbolize_keys![:status]
      o.update_column(:paid, true) if(order_status.eql? "AUTHORIZED")
    end
  end

我使用此方法更新订单状态,此方法位于我的订单模型中。

我的问题是:假设使用rails最佳实践和约定,将这些作业放在我的模型中是否正确?或者我应该在其他地方放置这种方法吗?

1 个答案:

答案 0 :(得分:2)

现在,在app / jobs目录中创建一个job类非常常见。