def _do_work(self, query, start, rows): q = "?userId=%d" % (int(query['userId'])) + "&keywords=%s" % (quote(','.join(query['keywords']).encode('utf-8'))) url = self.search_addr + q + "&start=%d&rows=%d" % (int(start), int(rows)) start = time.time() try: _, hr = _curl(url, timeout = DEFAULT_TIMEOUT) hr = json.loads(hr) if hr['result'] != "ok": self.result = "failed", start, time.time() - start else: self.result = "ok", start, time.time() - start except Exception, e: self.result = "UnhandleError : %s" % (str(e)), start, time.time() - start