Rails:放在哪里以及如何调用预定的清理方法



我已经为Rails应用程序编写了几个清理方法,我正在试图找出存储它们的最佳位置:

def flush
  @documents = Document.ready_to_flush
  @documents.each do |document|
    document.update_attributes(generated: false,
                               high_res: nil,
                               low_res: nil)
    server_url = "#{App::Application.config.server}/tasks/documents/#{document.id}/flush?token=#{App::Application.config.server_token}"
    response = HTTParty.get(server_url)
    if response.ok? && task_id.present?
      render json: "Assets PDFs for #{document.id}."
    else
      render json: "Assets for #{document.id} not flushed."
    end
  end
end
def clear_temporary_directory
  FileUtils.rm_rf(Dir.glob("#{::Rails.root}/public/temporary/*"))
end

我从schedule.rb(使用每当宝石)中调用它们,像这样:

every 1.day, at: '12:17 am' do
  runner 'clear_temporary_directory', environment: 'production'
end
every 1.day, at: '12:20 am' do
  runner 'flush', environment: 'production'
end

只是不确定存储这些顶级方法的最佳位置在哪里。有最佳实践吗?

没有。如果你想制作更多这样的文件夹,你可能想要创建一个app/something...文件夹,否则,app/helpers/应该工作良好(不要忘记包含它)

相关内容

  • 没有找到相关文章

最新更新