Resque Scheduler: выделенные задания пропускаются для текущей среды. Производство Героку

Я пытаюсь заставить свое приложение работать в производстве. У меня настроено фоновое задание и статический планировщик (resque и resque_scheduler). Рабочий и очередь на локальном хосте работают без проблем. На героку задание отображается в пользовательском интерфейсе resque_scheuler, но никогда не обрабатывается. Он говорит: «Выделенные задания пропускаются для текущей среды». Работа отмечена желтым цветом, как вы можете видеть на картинке. веб-интерфейс планировщика с выделенным рабочим

Это моя работа, расписание и рабочий файл

tweet_sender.rb (работа)

class TweetSender
    @queue = :tweets_queue 

    def self.perform(tweet_id)
        @user = User.all
        @user.each do |u|
            current_user = u.id
            twt = Tweet.where(user_id: u.uid).where(status_id: 0).order(:created_at, :id).first
            if twt
                twt.status_id = 1
                twt.save
                client = u.twitter_client_from_user
                client.update(twt.text)
        end
    end
  end
end

tweet_schedule.yml

tweet_sender:
  every:
    - "30s"
    - :first_in: '10s'
  class: "TweetSender"
  queue: tweets_queue
  args: tweet_id
  rails_env: development
  description: "This job sends daily tweets from the content db"

Procfile

web: bundle exec rails server -p $PORT
resque: env TERM_CHILD=1 COUNT=1 QUEUE=* bundle exec rake resque:work 
worker: bundle exec rake environment=production resque:work COUNT=1 QUEUE=*
scheduler: bundle exec rake environment=production resque:scheduler

Я просмотрел документацию, но не смог найти никакого объяснения. Кто-нибудь знает, почему эта работа выделена и как заставить ее планировать.


person Jan    schedule 10.05.2017    source источник


Ответы (1)


Я думаю, это потому, что вы установили свою работу tweet_schedule.yml как работающую только на rails_env: development. Чтобы ваше задание выполнялось в нескольких средах (скажем, в рабочей среде), вы должны установить для него значение rails_env: development, production.

tweet_sender:
  every:
    - "30s"
    - :first_in: '10s'
  class: "TweetSender"
  queue: tweets_queue
  args: tweet_id
  rails_env: development, production
  description: "This job sends daily tweets from the content db"
person user3920567    schedule 22.05.2018