From 502ebd2c478c5d7c6d5fcba246fb045ce80448aa Mon Sep 17 00:00:00 2001 From: Neil Williams Date: Fri, 25 Nov 2011 11:23:04 -0800 Subject: [PATCH] Clean up usage_q infrastructure. --- r2/r2/controllers/reddit_base.py | 15 +++++++++------ r2/r2/lib/queues.py | 7 ++++++- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/r2/r2/controllers/reddit_base.py b/r2/r2/controllers/reddit_base.py index 964f6d1cd1..ce2ca3b7f3 100644 --- a/r2/r2/controllers/reddit_base.py +++ b/r2/r2/controllers/reddit_base.py @@ -641,12 +641,15 @@ def post(self): log_text("unknown action", "no action for %r" % path_info, "warning") if g.usage_sampling >= 1.0 or rand.random() < g.usage_sampling: - - amqp.add_kw("usage_q", - start_time = c.start_time, - end_time = end_time, - sampling_rate = g.usage_sampling, - action = action) + amqp.add_kw( + "request_info", + ip=request.ip, + start_time=c.start_time, + end_time=end_time, + sampling_rate=g.usage_sampling, + action=action, + headers=dict(request.headers) + ) # this thread is probably going to be reused, but it could be # a while before it is. So we might as well dump the cache in diff --git a/r2/r2/lib/queues.py b/r2/r2/lib/queues.py index b88c7b2b97..9be0e43350 100644 --- a/r2/r2/lib/queues.py +++ b/r2/r2/lib/queues.py @@ -73,17 +73,19 @@ def queues(self): self._q('vote_link_q', self_refer=True) self._q('vote_comment_q', self_refer=True) self._q('log_q', self_refer=True) - self._q('usage_q', self_refer=True, durable=False) self._q('solrsearch_changes') self._q('indextank_changes', self_refer=True) self._bind('search_changes', 'solrsearch_changes') self._bind('search_changes', 'indextank_changes') + self._q('usage_q', durable=False) + def bindings(self): self.newlink_bindings() self.newcomment_bindings() self.newsubreddit_bindings() + self.requestinfo_bindings() def newlink_bindings(self): self._bind('new_link', 'scraper_q') @@ -98,6 +100,9 @@ def newcomment_bindings(self): def newsubreddit_bindings(self): pass + def requestinfo_bindings(self): + self._bind('request_info', 'usage_q') + try: from r2admin.lib.adminqueues import * except ImportError: