def test_vbucketawarecouchbaseclient_object_construction(self):
     with warnings.catch_warnings(record=True) as w:
         warnings.simplefilter("always")
         # Trigger a warning.
         cb = VBucketAwareCouchbaseClient(
             "http://" + self.host + ':' + self.port + "/pools/default",
             self.bucket_name, "")
         self.assertIsInstance(cb.servers, types.ListType)
         # Verify some things
         self.assertTrue(len(w) == 1)
         self.assertTrue("deprecated" in str(w[-1].message))
示例#2
0
 def write(self, record):
     for i in range(5):
         try:
             # todo: check for timeout and flags
             self.client.set(str(record['id'].encode('utf-8')), 0, 0, json.dumps(record['value']))
             return
         except MemcachedTimeoutException as e:
             pass
         except:
             self.client.done()
             self.client = VBucketAwareCouchbaseClient(self.server, self.bucket, self.password, self.verbose)
     print 'unable to set key {0}'.format(str(record['id'].encode('utf-8')))
示例#3
0
    def __init__(self, destination):
        # username:[email protected]:8091/bucket
        m = re.match('^([^:]+):([^@]*)@([^:]+):([^/]+)/(.+)$', destination)
        self.username = m.group(1)
        self.password = m.group(2)
        self.host = m.group(3)
        self.port = m.group(4)
        self.bucket = m.group(5)

        self.bucket_port = 11211
        self.bucket_password = ''

        self.verbose = False

        # todo: use server username/password to query the bucket password/port if needed
        self.server = "http://{0}:{1}/pools/default".format(self.host, self.port)
        self.client = VBucketAwareCouchbaseClient(self.server, self.bucket, self.password, self.verbose)
 def _run(self):
     v = None
     try:
         options = self._options
         if not options.password:
             options.password = ""
         v = VBucketAwareCouchbaseClient(self._server, options.bucket,
                                         options.password, options.verbose)
         number_of_items = (int(options.items) /
                            int(options.num_of_threads))
         value = StringUtil.create_value("*", int(options.value_size))
         for i in range(0, number_of_items):
             if self.shut_down:
                 break
             key = "{0}-{1}".format(options.key_prefix,
                                    str(uuid.uuid4())[:5])
             if options.load_json:
                 document = "\"name\":\"pymc-{0}\"".format(key, key)
                 document = document + ",\"age\":{0}".format(
                     random.randint(0, 1000))
                 document = document + ",\"index\":{0}".format(i)
                 document = "{" + document + "}"
                 try:
                     self._profile_before()
                     v.set(key, 0, 0, document)
                     self._profile_after()
                 except MemcachedTimeoutException:
                     self._stats["timeouts"] += 1
             else:
                 try:
                     self._profile_before()
                     v.set(key, 0, 0, value)
                     self._profile_after()
                 except MemcachedTimeoutException:
                     self._stats["timeouts"] += 1
             self._bar.update()
         v.done()
         v = None
     except:
         if v:
             v.done()