내 배경 작업에 Resque + RedisToGo를 사용하고 있습니다. Heroku에서 백그라운드 작업을 실행하는 데 문제가 있습니다. 이상한 점은 처음으로 배경 작업을 할 때 아무런 문제없이 실행된다는 것입니다. 하지만 다시 실행하면 실행되지 않습니다. 나는 "Heroku가 다시 시작 ', 배경이 성공적으로 완료하기위한 다른 모든 시간을 .... 실행해야Heroku의 Resque가 제대로 실행되지 않음
예를 들어내 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가 콘솔"내가 수행합니다. "Heroku가 로그"내가 처음으로 위의 코드를 실행할 때 4 "풋"을 참조하십시오 그러나 그것을 두 번째로 실행 만 반환 할 수 있습니다에서
Resque.enqueue(EncodeSong, 26, 'http://actual_bucket_name.s3.amazonaws.com/unencoded/users/1/songs/test.mp3')
'foobar'다른 "puts"는 표시되지 않습니다 .....
두 번째로 "media = Media.find (media_id)"를 실행할 수 없다고 생각합니다. 이것은 Heroku의 프로덕션 서버에서만 발생합니다. 우리 지역 개발 기계에서는이 문제가 발생하지 않습니다.
추신. Heroku logs을 사용하도록 설정했지만 여전히 유용한 응답을 얻지 못했습니다. 이 tutorial을 따라 Resque로 Heroku를 설정합니다.