本文整理汇总了Python中pyon.agent.agent.ResourceAgentClient类的典型用法代码示例。如果您正苦于以下问题:Python ResourceAgentClient类的具体用法?Python ResourceAgentClient怎么用?Python ResourceAgentClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ResourceAgentClient类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: set_resource
def set_resource(self, resource_id='', params=None):
"""Set the value of the given resource parameters.
@param resource_id The id of the resource agent.
@param params A dict of resource parameter name-value pairs.
@throws BadRequest if the command was malformed.
@throws NotFound if a parameter is not supported by the resource.
@throws ResourceError if the resource encountered an error while setting
the parameters.
@param resource_id str
@param params dict
@throws BadRequest if the command was malformed.
@throws NotFound if the parameter does not exist.
@throws ResourceError if the resource failed while trying to set the parameter.
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.set_resource(resource_id=resource_id, params=params)
res_interface = self._get_type_interface(res_type)
for param in params:
setter = get_safe(res_interface, "params.%s.set" % param, None)
if setter:
self._call_setter(setter, params[param], resource_id, res_type)
else:
log.warn("set_resource(): param %s not defined", param)
开发者ID:blazetopher,项目名称:coi-services,代码行数:28,代码来源:resource_management_service.py
示例2: test_instrument_simple
def test_instrument_simple(self):
instrument_model_id = self.create_instrument_model()
instrument_agent_id = self.create_instrument_agent(instrument_model_id)
instrument_device_id = self.create_instrument_device(instrument_model_id)
instrument_agent_instance_id = self.create_instrument_agent_instance(instrument_agent_id, instrument_device_id)
raw_dp_id, parsed_dp_id = self.create_instrument_data_products(instrument_device_id)
self.start_instrument_agent_instance(instrument_agent_instance_id)
agent_process_id = self.poll_instrument_agent_instance(instrument_agent_instance_id, instrument_device_id)
agent_client = ResourceAgentClient(instrument_device_id,
to_name=agent_process_id,
process=FakeProcess())
self.agent_state_transition(agent_client, ResourceAgentEvent.INITIALIZE, ResourceAgentState.INACTIVE)
self.agent_state_transition(agent_client, ResourceAgentEvent.GO_ACTIVE, ResourceAgentState.IDLE)
self.agent_state_transition(agent_client, ResourceAgentEvent.RUN, ResourceAgentState.COMMAND)
dataset_id = self.RR2.find_dataset_id_of_data_product_using_has_dataset(parsed_dp_id)
for i in xrange(10):
monitor = DatasetMonitor(dataset_id=dataset_id)
agent_client.execute_resource(AgentCommand(command=SBE37ProtocolEvent.ACQUIRE_SAMPLE))
if not monitor.wait():
raise AssertionError('Failed on the %ith granule' % i)
monitor.stop()
rdt = RecordDictionaryTool.load_from_granule(self.data_retriever.retrieve(dataset_id))
self.assertEquals(len(rdt), 10)
开发者ID:MatthewArrott,项目名称:coi-services,代码行数:31,代码来源:test_instrument_integration.py
示例3: get_capabilities
def get_capabilities(self, resource_id='', current_state=True):
"""Introspect for agent capabilities.
@param resource_id The id of the resource agent.
@param current_state Flag indicating to return capabilities for current
state only (default True).
@retval List of AgentCapabilities objects.
@param resource_id str
@param current_state bool
@retval capability_list list
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.get_capabilities(resource_id=resource_id, current_state=current_state)
res_interface = self._get_type_interface(res_type)
cap_list = []
for param in res_interface['params'].keys():
cap = AgentCapability(name=param, cap_type=CapabilityType.RES_PAR)
cap_list.append(cap)
for cmd in res_interface['commands'].keys():
cap = AgentCapability(name=cmd, cap_type=CapabilityType.RES_CMD)
cap_list.append(cap)
return cap_list
开发者ID:blazetopher,项目名称:coi-services,代码行数:29,代码来源:resource_management_service.py
示例4: get_resource
def get_resource(self, resource_id='', params=None):
"""Return the value of the given resource parameter.
@param resource_id The id of the resource agennt.
@param params A list of parameters names to query.
@retval A dict of parameter name-value pairs.
@throws BadRequest if the command was malformed.
@throws NotFound if the resource does not support the parameter.
@param resource_id str
@param params list
@retval result AgentCommandResult
@throws NotFound if the parameter does not exist.
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.get_resource(resource_id=resource_id, params=params)
res_interface = self._get_type_interface(res_type)
get_result = {}
for param in params:
getter = get_safe(res_interface, "params.%s.get" % param, None)
if getter:
get_res = self._call_getter(getter, resource_id, res_type)
get_result['param'] = get_res
else:
get_result['param'] = None
return get_result
开发者ID:blazetopher,项目名称:coi-services,代码行数:30,代码来源:resource_management_service.py
示例5: recover_data
def recover_data(self, agent_instance_id, resource_id):
res_obj = self.rr.read(resource_id)
if res_obj.type_ != RT.InstrumentDevice:
log.warn("Ignoring resource because it is not an instrument: %s - %s", res_obj.name, res_obj.type_)
self._recover_data_status['ignored'].append("%s (%s)" % (res_obj.name, res_obj.type_))
return
self.recover_start = self.CFG.get("recover_start", None)
self.recover_end = self.CFG.get("recover_end", None)
if self.recover_end is None:
raise BadRequest("Missing recover_end parameter")
if self.recover_start is None:
raise BadRequest("Missing recover_start parameter")
try:
ia_client = ResourceAgentClient(resource_id, process=self)
log.info('Got ia client %s.', str(ia_client))
ia_client.execute_resource(command=AgentCommand(command=DriverEvent.GAP_RECOVERY, args=[self.recover_start, self.recover_end]))
self._recover_data_status['success'].append(res_obj.name)
except Exception as e:
log.warn("Failed to start recovery process for %s", res_obj.name)
log.warn("Exception: %s", e)
self._recover_data_status['fail'].append("%s (%s)" % (res_obj.name, e))
开发者ID:j2project,项目名称:coi-services,代码行数:26,代码来源:agentctrl.py
示例6: execute_resource
def execute_resource(self, resource_id='', command=None):
"""Execute command on the resource represented by agent.
@param resource_id The id of the resource agennt.
@param command An AgentCommand containing the command.
@retval result An AgentCommandResult containing the result.
@throws BadRequest if the command was malformed.
@throws NotFound if the command is not available in current state.
@throws ResourceError if the resource produced an error during execution.
@param resource_id str
@param command AgentCommand
@retval result AgentCommandResult
@throws BadRequest if the command was malformed.
@throws NotFound if the command is not implemented in the agent.
@throws ResourceError if the resource produced an error.
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.execute_resource(resource_id=resource_id, command=command)
cmd_res = None
res_interface = self._get_type_interface(res_type)
target = get_safe(res_interface, "commands.%s.execute" % command.command, None)
if target:
res = self._call_execute(target, resource_id, res_type, command.args, command.kwargs)
cmd_res = AgentCommandResult(command_id=command.command_id,
command=command.command,
ts_execute=get_ion_ts(),
status=0)
else:
log.warn("execute_resource(): command %s not defined", command.command)
return cmd_res
开发者ID:blazetopher,项目名称:coi-services,代码行数:35,代码来源:resource_management_service.py
示例7: test_platform_with_instrument_streaming
def test_platform_with_instrument_streaming(self):
#
# The following is with just a single platform and the single
# instrument "SBE37_SIM_08", which corresponds to the one on port 4008.
#
#load the paramaters and the param dicts necesssary for the VEL3D
self._load_params()
#create the instrument device/agent/mode
self._create_instrument_resources()
#create the platform device, agent and instance
self._create_platform_configuration('LPJBox_CI_Ben_Hall')
self.rrclient.create_association(subject=self.platform_device, predicate=PRED.hasDevice, object=self.instrument_device)
self._start_platform()
# self.addCleanup(self._stop_platform, p_root)
# get everything in command mode:
self._ping_agent()
self._initialize()
_ia_client = ResourceAgentClient(self.instrument_device, process=FakeProcess())
state = _ia_client.get_agent_state()
log.info("TestPlatformInstrument get_agent_state %s", state)
self._go_active()
# self._run()
gevent.sleep(3)
# note that this includes the instrument also getting to the command state
# self._stream_instruments()
# get client to the instrument:
# the i_obj is a DotDict with various pieces captured during the
# set-up of the instrument, in particular instrument_device_id
#i_obj = self._get_instrument(instr_key)
# log.debug("KK creating ResourceAgentClient")
# ia_client = ResourceAgentClient(i_obj.instrument_device_id,
# process=FakeProcess())
# log.debug("KK got ResourceAgentClient: %s", ia_client)
#
# # verify the instrument is command state:
# state = ia_client.get_agent_state()
# log.debug("KK instrument state: %s", state)
# self.assertEqual(state, ResourceAgentState.COMMAND)
self._reset()
self._shutdown()
开发者ID:ateranishi,项目名称:coi-services,代码行数:59,代码来源:test_rsn_platform_instrument.py
示例8: ping_agent
def ping_agent(self, resource_id=''):
"""Ping the agent.
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.ping_agent(resource_id=resource_id)
raise BadRequest("Not implemented for resource type %s" % res_type)
开发者ID:scion-network,项目名称:scioncc,代码行数:9,代码来源:resource_management_service.py
示例9: get_agent_state
def get_agent_state(self, resource_id=''):
"""Return the current resource agent common state.
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.get_agent_state(resource_id=resource_id)
raise BadRequest("Not implemented for resource type %s" % res_type)
开发者ID:scion-network,项目名称:scioncc,代码行数:9,代码来源:resource_management_service.py
示例10: set_agent
def set_agent(self, resource_id='', params=None):
"""Set the value of the given agent parameters.
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.set_agent(resource_id=resource_id, params=params)
raise BadRequest("Not implemented for resource type %s" % res_type)
开发者ID:scion-network,项目名称:scioncc,代码行数:9,代码来源:resource_management_service.py
示例11: execute_agent
def execute_agent(self, resource_id='', command=None):
"""Execute command on the agent.
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.execute_agent(resource_id=resource_id, command=command)
raise BadRequest("Not implemented for resource type %s" % res_type)
开发者ID:scion-network,项目名称:scioncc,代码行数:9,代码来源:resource_management_service.py
示例12: get_resource_state
def get_resource_state(self, resource_id=''):
"""Return the current resource specific state, if available.
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.get_resource_state(resource_id=resource_id)
raise BadRequest("Not implemented for resource type %s", res_type)
开发者ID:scion-network,项目名称:scioncc,代码行数:9,代码来源:resource_management_service.py
示例13: _process_cmd_agent_execute
def _process_cmd_agent_execute(resource_id, res_obj=None):
agent_cmd = get_arg('agentcmd')
from pyon.agent.agent import ResourceAgentClient
from interface.objects import AgentCommand
rac = ResourceAgentClient(process=containerui_instance, resource_id=resource_id)
ac = AgentCommand(command=agent_cmd)
res = rac.execute_agent(ac)
res_dict = get_value_dict(res)
res_str = get_formatted_value(res_dict, fieldtype="dict")
return res_str
开发者ID:ooici-eoi,项目名称:coi-services,代码行数:10,代码来源:containerui.py
示例14: start_agent
def start_agent(self, agent_instance_id, resource_id):
if not agent_instance_id or not resource_id:
log.warn("Could not %s agent %s for device %s", self.op, agent_instance_id, resource_id)
return
res_obj = self.rr.read(resource_id)
log.info('Starting agent...')
if res_obj.type_ == RT.ExternalDatasetAgentInstance or res_obj == RT.ExternalDataset:
dams = DataAcquisitionManagementServiceProcessClient(process=self)
dams.start_external_dataset_agent_instance(agent_instance_id)
elif res_obj.type_ == RT.InstrumentDevice:
ims = InstrumentManagementServiceClient()
ims.start_instrument_agent_instance(agent_instance_id)
elif res_obj.type_ == RT.PlatformDevice:
ims = InstrumentManagementServiceClient()
ims.start_platform_agent_instance(agent_instance_id)
else:
BadRequest("Attempt to start unsupported agent type: %s", res_obj.type_)
log.info('Agent started!')
activate = self.CFG.get("activate", True)
if activate:
log.info('Activating agent...')
client = ResourceAgentClient(resource_id, process=self)
client.execute_agent(AgentCommand(command=ResourceAgentEvent.INITIALIZE))
client.execute_agent(AgentCommand(command=ResourceAgentEvent.GO_ACTIVE))
client.execute_agent(AgentCommand(command=ResourceAgentEvent.RUN))
client.execute_resource(command=AgentCommand(command=DriverEvent.START_AUTOSAMPLE))
log.info('Agent active!')
开发者ID:j2project,项目名称:coi-services,代码行数:31,代码来源:agentctrl.py
示例15: start_agent
def start_agent(self, agent_instance_id, resource_id):
if not agent_instance_id or not resource_id:
log.warn("Could not op=%s agent %s for device %s", self.op, agent_instance_id, resource_id)
return
res_obj = self.rr.read(resource_id)
ai_obj = self.rr.read(agent_instance_id)
try:
client = ResourceAgentClient(resource_id, process=self)
if self.force:
log.warn("Agent for resource %s seems running - continuing", resource_id)
if self.autoclean:
self.cleanup_agent(agent_instance_id, resource_id)
else:
log.warn("Agent for resource %s seems running", resource_id)
return
except NotFound:
pass # This is expected
log.info('Starting agent...')
if ai_obj.type_ == RT.ExternalDatasetAgentInstance:
dams = DataAcquisitionManagementServiceProcessClient(process=self)
dams.start_external_dataset_agent_instance(agent_instance_id, headers=self._get_system_actor_headers(),
timeout=self.timeout)
elif ai_obj.type_ == RT.InstrumentAgentInstance:
ims = InstrumentManagementServiceProcessClient(process=self)
ims.start_instrument_agent_instance(agent_instance_id, headers=self._get_system_actor_headers(),
timeout=self.timeout)
elif ai_obj.type_ == RT.PlatformAgentInstance:
ims = InstrumentManagementServiceProcessClient(process=self)
ims.start_platform_agent_instance(agent_instance_id, headers=self._get_system_actor_headers(),
timeout=self.timeout)
else:
BadRequest("Attempt to start unsupported agent type: %s", ai_obj.type_)
log.info('Agent started!')
activate = self.CFG.get("activate", True)
if activate:
log.info('Activating agent...')
client = ResourceAgentClient(resource_id, process=self)
client.execute_agent(AgentCommand(command=ResourceAgentEvent.INITIALIZE),
headers=self._get_system_actor_headers(), timeout=self.timeout)
client.execute_agent(AgentCommand(command=ResourceAgentEvent.GO_ACTIVE),
headers=self._get_system_actor_headers(), timeout=self.timeout)
client.execute_agent(AgentCommand(command=ResourceAgentEvent.RUN),
headers=self._get_system_actor_headers(), timeout=self.timeout)
client.execute_resource(command=AgentCommand(command=DriverEvent.START_AUTOSAMPLE),
headers=self._get_system_actor_headers(), timeout=self.timeout)
log.info('Agent in auto-sample mode!')
开发者ID:cgalvarino,项目名称:coi-services,代码行数:51,代码来源:agentctrl.py
示例16: get_agent_state
def get_agent_state(self, resource_id=''):
"""Return the current resource agent common state.
@param resource_id The id of the resource agennt.
@retval A str containing the current agent state.
@param resource_id str
@retval result str
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.get_agent_state(resource_id=resource_id)
raise BadRequest("Not implemented for resource type %s" % res_type)
开发者ID:blazetopher,项目名称:coi-services,代码行数:14,代码来源:resource_management_service.py
示例17: ping_agent
def ping_agent(self, resource_id=''):
"""Ping the agent.
@param resource_id The id of the resource agennt.
@retval A str containing a string representation of the agent
and a timestamp.
@param resource_id str
@retval result str
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.ping_agent(resource_id=resource_id)
raise BadRequest("Not implemented for resource type %s" % res_type)
开发者ID:blazetopher,项目名称:coi-services,代码行数:15,代码来源:resource_management_service.py
示例18: on_start
def on_start(self):
log.info("Known agents: " + str(agent_instances))
target_name = agent_instances["user_agent_1"]
self.rac = ResourceAgentClient(resource_id="res_id", name=target_name, process=self)
self.trigger_func = threading.Thread(target=self._trigger_func)
self.trigger_func.start()
开发者ID:daf,项目名称:coi-services,代码行数:7,代码来源:agents.py
示例19: set_resource
def set_resource(self, resource_id='', params=None):
"""Set the value of the given resource parameters.
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.set_resource(resource_id=resource_id, params=params)
res_interface = self._get_type_interface(res_type)
for param in params:
setter = get_safe(res_interface, "params.%s.set" % param, None)
if setter:
self._call_setter(setter, params[param], resource_id, res_type)
else:
log.warn("set_resource(): param %s not defined", param)
开发者ID:scion-network,项目名称:scioncc,代码行数:16,代码来源:resource_management_service.py
示例20: get_resource_state
def get_resource_state(self, resource_id=''):
"""Return the current resource specific state, if available.
@param resource_id The id of the resource agennt.
@retval A str containing the current resource specific state.
@param resource_id str
@retval result str
@throws NotFound if the resource does not utilize a specific state machine.
@throws ResourceError if the resource failed while trying to get the state.
"""
res_type = self._get_resource_type(resource_id)
if self._has_agent(res_type):
rac = ResourceAgentClient(resource_id=resource_id)
return rac.get_resource_state(resource_id=resource_id)
raise BadRequest("Not implemented for resource type %s", res_type)
开发者ID:blazetopher,项目名称:coi-services,代码行数:16,代码来源:resource_management_service.py
注:本文中的pyon.agent.agent.ResourceAgentClient类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论