Resque ワーカーからトリガーされたコード内のオブジェクトを操作できませんでした。これはシナトラ/データマッパー アプリです。Feed クラスは DataMapper モデルです。サブスクライバーコードはこちら
class Subscriber
@queue = :subscriptions_queue
def self.perform(feed_id)
feed = Feed.get(feed_id)
feed.subscribe()
end
end
subscribe() メソッドが実行されるまで、うまく機能しています
class Feed
def subscribe
feed = Feedzirra::Feed.fetch_and_parse(url)
raise feed.description
end
end
エラーが発生します:
** [23:09:44 2012-08-02] 32028: (Job{subscriptions_queue} | Subscriber | [2]) failed: #<NoMethodError: undefined method `description' for #<Hash:0x007fa6f4b97e48>>
なぜそれがハッシュになるのですか?フィード オブジェクトで inspect を呼び出すことができます。
class Feed
def subscribe
feed = Feedzirra::Feed.fetch_and_parse(url)
raise feed.inspect
end
end
期待どおりにフィードをダンプします。
** [23:01:31 2012-08-02] 32010: (Job{subscriptions_queue} | Subscriber | [2]) failed: #<RuntimeError: {#<Addressable::URI:0x3fefd45f2fb8 URI:http://feeds.feedburner.com/scoutapp>=>#<Feedzirra::Parser::RSSFeedBurner:0x007fdfaa024f18 @title="Scout ~ The Blog", @url="http://blog.scoutapp.com/", @description="Scout ~ The Blog", @hubs=["http://pubsubhubbub.appspot.com/"], @entries=
注目すべき分野はありますか?