2017-04-14 12 views
0

을 enqueing하지 내가 일정을 가지고 있으며이 같은 resque.rake에 정의되어Resque schedueler 로딩 작업 만

require 'resque/tasks' 
require 'resque/scheduler/tasks' 
task 'resque:setup' => :environment 



namespace :resque do 
    task :setup do 
    require 'resque' 
    Resque.redis = 'localhost:6379' 


    end 

    task :setup_schedule => :setup do 
    require 'resque-scheduler' 
    ENV['RAILS_ENV'] = Rails.env 
    Resque.schedule = YAML.load_file('config/tweet_schedule.yml') 
    require 'tweet_sender.rb' 
    end 

task :scheduler => :setup_schedule 


end 

schedele tweet_schedule.yml

tweet_sender: 
    cron: "57 7 * * *" 
    class: "TweetSender" 
    queue: tweets_queue 
    args: tweet_id 
    rails_env: development 
    description: "This job sends daily tweets from the content db" 

내가 실행할 때마다

(그리고 레디 스 서버는 레일들,

bundle exec rake resque:work QUEUE='*' --trace 

)

통하여 작업자로드

번들 간부 레이크 환경 resque : 스케줄러 나는 다음과 같은 출력 그래서

resque-scheduler: [INFO] 2017-04-14T09:14:49+02:00: Starting 
resque-scheduler: [INFO] 2017-04-14T09:14:49+02:00: Loading Schedule 
resque-scheduler: [INFO] 2017-04-14T09:14:49+02:00: Scheduling tweet_sender 
resque-scheduler: [INFO] 2017-04-14T09:14:49+02:00: Schedules Loaded 
Passing 'info' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at sucesfully/home/jan/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/resque-1.27.2/lib/resque/data_store.rb:60:in `method_missing') 
Passing 'script' command to redis as is; administrative commands cannot be effectively namespaced and should be called on the redis connection directly; passthrough has been deprecated and will be removed in redis-namespace 2.0 (at /home/jan/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/resque-1.27.2/lib/resque/data_store.rb:60:in `method_missing') 

나는 내 schedusucesfullyle를로드하지만 그것이 enqued 가져 오지처럼 (내가 지금까지 네임 스페이스의 경고를 무시했다) 보이는 가정을 얻을

일정은 resque-scheduler 웹 UI에 나타나며 수동으로 웹 인터페이스 단추를 통해 작업을 설정하면 작업이 성공적으로 실행됩니다. 왜 그것은 제대로로드되지 않는 모든 IDE가?

Queue now button used to set of jobs

+0

이 메시지를 본 후 "Enter"키를 누르면 – Ievgen

답변

0

그래서 주위에 노력을 많이 후 결국 나는 resque 스케줄러 내 크론 정의를 따기되지 않았 음을 발견했다. 6 * 크론

5* cron cron: "57 7 * * *" 
5* cron cron: "15 57 7 * * *" 

작업에 5 *의 크론을 변경하면 지금 매 시간마다 예정된 도착 후

. 표준 크론 구문이 작동하지 않는 것 같아서 일을 스케줄하는 방법을 아직 알지 못했습니다.

minute (0-59), 
|  hour (0-23), 
|  |  day of the month (1-31), 
|  |  |  month of the year (1-12), 
|  |  |  |  day of the week (0-6 with 0=Sunday). 
|  |  |  |  |  command 
0  2  *  *  0,4