scheduler.rb 872 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/env ruby
  2. # Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/
  3. $LOAD_PATH << './lib'
  4. require 'rubygems'
  5. # load rails env
  6. dir = File.expand_path(File.join(File.dirname(__FILE__), '..'))
  7. Dir.chdir dir
  8. RAILS_ENV = ENV['RAILS_ENV'] || 'development'
  9. require 'rails/all'
  10. require 'bundler'
  11. Bundler.require(:default, Rails.env)
  12. require File.join(dir, 'config', 'environment')
  13. require 'daemons'
  14. daemon_options = {
  15. multiple: false,
  16. dir_mode: :normal,
  17. dir: File.join(dir, 'tmp', 'pids'),
  18. backtrace: true
  19. }
  20. name = 'scheduler'
  21. Daemons.run_proc(name, daemon_options) do
  22. if ARGV.include?('--')
  23. ARGV.slice! 0..ARGV.index('--')
  24. else
  25. ARGV.clear
  26. end
  27. Dir.chdir dir
  28. $stdout.reopen( dir + '/log/' + name + '_out.log', 'w')
  29. $stderr.reopen( dir + '/log/' + name + '_err.log', 'w')
  30. require 'scheduler'
  31. Scheduler.threads
  32. end