def foo(): k1, k2 = yield self.ctx.put(ent1), self.ctx.put(ent2) self.assertEqual(k1, key1) self.assertEqual(k2, key2) # Write to memcache. yield (self.ctx.get(k1, use_cache=False), self.ctx.get(k2, use_cache=False)) yield tasklets.sleep(0.01) # Let other tasklet complete.
def foo(): key1 = model.Key(flat=('Foo', 1)) key2 = model.Key(flat=('Foo', 2)) ent1 = model.Expando(key=key1, foo=42, bar='hello') ent2 = model.Expando(key=key2, foo=1, bar='world') k1, k2 = yield self.ctx.put(ent1), self.ctx.put(ent2) self.assertEqual(k1, key1) self.assertEqual(k2, key2) yield tasklets.sleep(0.01) # Let other tasklet complete. keys = [k1.urlsafe(), k2.urlsafe()] results = memcache.get_multi(keys, key_prefix='NDB:') self.assertEqual( results, {key1.urlsafe(): self.ctx._conn.adapter.entity_to_pb(ent1), key2.urlsafe(): self.ctx._conn.adapter.entity_to_pb(ent2)})
def callback_async(e): yield tasklets.sleep(0.01) raise tasklets.Return(e.name)
def produce_one(i): yield tasklets.sleep(i * 0.01) raise tasklets.Return(i)
def bad(): 1 / 0 yield tasklets.sleep(0)
def sum_tasklet(arg): yield tasklets.sleep(0.01) raise tasklets.Return(sum(arg))
def foo(): yield tasklets.sleep(0.01) raise tasklets.Return(42)
def foo(dt): yield tasklets.sleep(dt) raise tasklets.Return('foo-%s' % dt)
def foo(): log.append(time.time()) yield tasklets.sleep(0.1) log.append(time.time())
def bad(): 1/0 yield tasklets.sleep(0)
def good(): yield tasklets.sleep(0)
def foo(): k1, k2 = yield self.ctx.put(ent1), self.ctx.put(ent2) self.assertEqual(k1, key1) self.assertEqual(k2, key2) yield tasklets.sleep(0.01) # Let other tasklet complete.
def bar(n): for i in range(n): yield tasklets.sleep(0.01) raise tasklets.Return('bar-%d' % n)
def produce_one(i): yield tasklets.sleep(random.randrange(10) * 0.01) raise tasklets.Return(i)