Eri*_*man 10 rake logging ruby-on-rails heroku papertrail-app
在Heroku上运行Rails Rake任务的一个已知问题是,由于一次性dynos默认将其输出推送到控制台,因此他们不会将其日志提交给Papertrail.这可以通过使用在"分离"模式下运行你的dyno来解决heroku run:detached rake your:task.不幸的是,Heroku Scheduler似乎会自动正常运行任务而不是分离模式,因此这些日志会丢失.
如何使调度程序以"分离"模式运行任务,以便这些每周/每日/每小时任务按预期获取Papertrail捕获的日志?
您可以使用 sidekiq,这个 gem 将帮助您按计划运行任何进程,并且在 sidekiq 中您可以运行 rake 任务!
例子:
class MySidekiqTask
include Sidekiq::Worker
def perform
application_name = Rails.application.class.parent_name
application = Object.const_get(application_name)
application::Application.load_tasks
Rake::Task['db:migrate'].invoke
end
end
Run Code Online (Sandbox Code Playgroud)
很好的说明如何在 Heroku 服务器中设置 Sidekiq
https://itnext.io/sidekiq-overview-and-how-to-deploy-it-to-heroku-b8811fea9347
| 归档时间: |
|
| 查看次数: |
285 次 |
| 最近记录: |