我正在尝试创建一个 resque 工作人员,将一些网页抓取作为后台工作。Worker 接收到网站主页的 URL,进行一些网页抓取,然后将结果存储在 Redis 中,并在其中保留五分钟。
下面的代码看起来应该完成我上面描述的吗?
class TrialScraper
@queue = :trial_scraper_queue
def self.perform(homepage)
hashed_site_data =
{
:homepage =>
{
:url => homepage,
:title => download_title(homepage),
:meta_tags => download_robots_tags(homepage)
},
:robots_file => download_robots_file(homepage),
}
p hashed_site_data #just to make sure it's working
REDIS.setex(homepage, 60*5, hashed_site_data.to_json)
end
现在,这甚至没有出现在 Resque 的 Web 界面中。
知道我做错了什么吗?我认为问题在于将数据发送到 REDIS,但我不确定。
编辑:只是为了澄清,这里有一些更详细的信息。我对上述工作人员的看法是,它在 Resque 的 Web 界面中显示为工作。
我的代码的最终结果应该只是将一些键值对发送到 redis(在 Resque 之外)。但是当我在 redis 客户端并列出所有密钥时,我看不到任何地方列出的密钥。但我应该看到主页与其他键一起列出。