def send_task(self, task_name, queue, deployment_id=None, args=None, kwargs=None, timeout=10, execution_env=None): cloudify_context = test_utils.op_context(task_name, task_target=queue, plugin_name=PLUGIN_NAME, execution_env=execution_env, deployment_id=deployment_id) kwargs = kwargs or {} kwargs['__cloudify_context'] = cloudify_context handler = amqp_client.BlockingRequestResponseHandler(queue) client = amqp_client.get_client() client.add_handler(handler) with client: task = {'cloudify_task': {'kwargs': kwargs}} result = handler.publish(task, routing_key='operation', timeout=timeout) error = result.get('error') if error: raise deserialize_known_exception(error) else: return result.get('result')
def _send_amqp_task(agent, params, timeout): if not _validate_cloudify_amqp(agent): raise RecoverableError('Agent is not responding') task = {'cloudify_task': {'kwargs': params}} handler = amqp_client.BlockingRequestResponseHandler(agent['queue']) with _get_amqp_client(agent) as client: client.add_handler(handler) with client: result = handler.publish(task, routing_key='operation', timeout=timeout) error = result.get('error') if error: raise deserialize_known_exception(error)