Я использую Resque + RedisToGo для своих фоновых заданий.У меня проблемы с выполнением фоновых задач на Heroku.Это странно, потому что, когда я в первый раз запускаю фоновое задание, оно выполняется без проблем.Но когда я запускаю его снова, он не выполняется.Я должен был бы запустить «heroku restart», каждый раз, чтобы фон успешно завершился ....
Например. Если у меня есть следующий код в фоновом действии Resque:
module EncodeSong
@queue = :encode_song
def self.perform(media_id, s3_file_url)
puts 'foobar'
media = Media.find(media_id)
puts 'media id is supposed to be here'
puts media.id
puts s3_file_url
end
end
В «консоли heroku» я делаю:
Resque.enqueue(EncodeSong, 26, 'http://actual_bucket_name.s3.amazonaws.com/unencoded/users/1/songs/test.mp3')
В «журналах heroku» я вижу 4 «пута», когда я запускаю вышеуказанный код в первый раз. Но запускаю егово второй раз возвращает только «foobar». Другие «put» не отображаются .....
Я подозреваю, что он не может запустить "media = Media.find (media_id)",второй раз. Это происходит только на рабочем сервере Heroku. На нашей локальной машине разработки мы не испытываем этой проблемы .... Кто-нибудь знает, что не так?
PS. Я попытался включить Журналы Heroku , но до сих пор не получили никакого полезного ответа. Я следовал этому уроку , чтобы настроить Heroku с помощью Resque