Rails:放置在哪里以及如何调用预定的清理方法
Posted
技术标签:
【中文标题】Rails:放置在哪里以及如何调用预定的清理方法【英文标题】:Rails: where to put and how to call scheduled clean-up methods 【发布时间】:2014-05-04 03:41:45 【问题描述】:我已经为 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
(带有whenever gem)给他们打电话,如下所示:
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
只是不确定存储这些***方法的最佳位置在哪里。是否有最佳实践?
【问题讨论】:
【参考方案1】:真的没有。如果您要制作更多这些,您可能需要创建一个 app/something...
文件夹,否则,app/helpers/
应该可以正常工作(不要忘记包含它。)
【讨论】:
是的,我试图避免使用助手。谢谢你的建议。 如果这是正确答案,您能否标记为正确并点赞? 我不会提供任何其他人有任何见解。以上是关于Rails:放置在哪里以及如何调用预定的清理方法的主要内容,如果未能解决你的问题,请参考以下文章