本文整理汇总了Python中celery.backends.amqp.AMQPBackend.store_result方法的典型用法代码示例。如果您正苦于以下问题:Python AMQPBackend.store_result方法的具体用法?Python AMQPBackend.store_result怎么用?Python AMQPBackend.store_result使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类celery.backends.amqp.AMQPBackend
的用法示例。
在下文中一共展示了AMQPBackend.store_result方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_store_result
# 需要导入模块: from celery.backends.amqp import AMQPBackend [as 别名]
# 或者: from celery.backends.amqp.AMQPBackend import store_result [as 别名]
def test_store_result(self):
b = AMQPBackend(self.app)
tid = uuid()
request = Context(args=(1, 2, 3), kwargs={'foo': 'bar'},
task_name='mytask', retries=2,
hostname='[email protected]_1',
delivery_info={'routing_key': 'celery'})
b.store_result(tid, {'fizz': 'buzz'}, states.SUCCESS, request=request)
meta = b.get_task_meta(tid)
assert meta == {
'args': [1, 2, 3],
'children': [],
'kwargs': {'foo': 'bar'},
'name': 'mytask',
'queue': 'celery',
'result': {'fizz': 'buzz'},
'retries': 2,
'status': 'SUCCESS',
'task_id': tid,
'traceback': None,
'worker': '[email protected]_1',
}
示例2: test_store_result_retries
# 需要导入模块: from celery.backends.amqp import AMQPBackend [as 别名]
# 或者: from celery.backends.amqp.AMQPBackend import store_result [as 别名]
def test_store_result_retries(self):
iterations = [0]
stop_raising_at = [5]
def publish(*args, **kwargs):
if iterations[0] > stop_raising_at[0]:
return
iterations[0] += 1
raise KeyError("foo")
backend = AMQPBackend()
from celery.app.amqp import TaskProducer
prod, TaskProducer.publish = TaskProducer.publish, publish
try:
with self.assertRaises(KeyError):
backend.retry_policy["max_retries"] = None
backend.store_result("foo", "bar", "STARTED")
with self.assertRaises(KeyError):
backend.retry_policy["max_retries"] = 10
backend.store_result("foo", "bar", "STARTED")
finally:
TaskProducer.publish = prod
示例3: test_store_result_retries
# 需要导入模块: from celery.backends.amqp import AMQPBackend [as 别名]
# 或者: from celery.backends.amqp.AMQPBackend import store_result [as 别名]
def test_store_result_retries(self):
iterations = [0]
stop_raising_at = [5]
def publish(*args, **kwargs):
if iterations[0] > stop_raising_at[0]:
return
iterations[0] += 1
raise KeyError('foo')
backend = AMQPBackend(self.app)
from celery.app.amqp import Producer
prod, Producer.publish = Producer.publish, publish
try:
with self.assertRaises(KeyError):
backend.retry_policy['max_retries'] = None
backend.store_result('foo', 'bar', 'STARTED')
with self.assertRaises(KeyError):
backend.retry_policy['max_retries'] = 10
backend.store_result('foo', 'bar', 'STARTED')
finally:
Producer.publish = prod