本文整理汇总了Python中mi.core.instrument.instrument_protocol.CommandResponseInstrumentProtocol.initialize_scheduler方法的典型用法代码示例。如果您正苦于以下问题:Python CommandResponseInstrumentProtocol.initialize_scheduler方法的具体用法?Python CommandResponseInstrumentProtocol.initialize_scheduler怎么用?Python CommandResponseInstrumentProtocol.initialize_scheduler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mi.core.instrument.instrument_protocol.CommandResponseInstrumentProtocol
的用法示例。
在下文中一共展示了CommandResponseInstrumentProtocol.initialize_scheduler方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestUnitInstrumentProtocol
# 需要导入模块: from mi.core.instrument.instrument_protocol import CommandResponseInstrumentProtocol [as 别名]
# 或者: from mi.core.instrument.instrument_protocol.CommandResponseInstrumentProtocol import initialize_scheduler [as 别名]
#.........这里部分代码省略.........
# set an additional value for test
self.protocol._param_dict.update("qux=6666")
# mark init params
self.assertRaises(InstrumentParameterException,
self.protocol.set_init_params, [])
self.protocol.set_init_params({DriverConfigKey.PARAMETERS: {"foo": 1111, "baz":2222}})
# get new startup config
self.assertRaises(InstrumentProtocolException, self.protocol.get_startup_config)
self.protocol.set_init_params({DriverConfigKey.PARAMETERS: {"foo": 1111, "baz":2222, "bat": 11, "qux": 22}})
result = self.protocol.get_startup_config()
self.assertEquals(len(result), 5)
self.assertEquals(result["foo"], 1111) # init param
self.assertEquals(result["bar"], 0) # init param with default value
self.assertEquals(result["baz"], 2222) # non-init param, but value specified
self.assertEquals(result["bat"], 11) # set param
self.assertEquals(result["qux"], 22) # set param
self.assertIsNone(result.get("rok")) # defined in paramdict, no config
def test_apply_startup_params(self):
"""
Test that the apply startup parameters method exists and throws
a "not implemented" exception for the base class
"""
self.assertRaises(NotImplementedException,
self.protocol.apply_startup_params)
def test_scheduler(self):
"""
Test to see that the scheduler can add and remove jobs properly
Jobs are just queued for adding unit we call initialize_scheduler
then the jobs are actually created.
use an interval job to allow for testing for removal
"""
job_name = 'test_job'
startup_config = {
DriverConfigKey.SCHEDULER: {
job_name: {
DriverSchedulerConfigKey.TRIGGER: {
DriverSchedulerConfigKey.TRIGGER_TYPE: TriggerType.INTERVAL,
DriverSchedulerConfigKey.SECONDS: 2
},
}
}
}
self.protocol.set_init_params(startup_config)
# Verify we are initialized properly
self.assertIsNone(self.protocol._scheduler)
self.assertEqual(self.protocol._scheduler_config, {})
self.assertEqual(self.protocol._scheduler_callback, {})
# Verify the the scheduler is created
self.protocol.initialize_scheduler()
self.assertIsInstance(self.protocol._scheduler, DriverScheduler)
self.assertEqual(self.protocol._scheduler_config, {})
self.assertEqual(self.protocol._scheduler_callback, {})
# Now lets see some magic happen. Lets add our schedulers. Generally
# This would be done as part of the protocol init, but it can happen
# anytime. If the scheduler has already been initialized the
# job will be started right away
示例2: TestUnitInstrumentProtocol
# 需要导入模块: from mi.core.instrument.instrument_protocol import CommandResponseInstrumentProtocol [as 别名]
# 或者: from mi.core.instrument.instrument_protocol.CommandResponseInstrumentProtocol import initialize_scheduler [as 别名]
#.........这里部分代码省略.........
lambda match : int(match.group(1)),
lambda x : str(x))
self.protocol._param_dict.update("qux=6666")
# mark init params
self.assertRaises(InstrumentParameterException,
self.protocol.set_init_params, [])
self.protocol.set_init_params({DriverConfigKey.PARAMETERS: {"foo": 1111, "baz":2222}})
# get new startup config
self.assertRaises(InstrumentProtocolException, self.protocol.get_startup_config)
self.protocol.set_init_params({DriverConfigKey.PARAMETERS: {"foo": 1111, "baz":2222, "bat": 11, "qux": 22}})
result = self.protocol.get_startup_config()
self.assertEquals(len(result), 5)
self.assertEquals(result["foo"], 1111) # init param
self.assertEquals(result["bar"], 0) # init param with default value
self.assertEquals(result["baz"], 2222) # non-init param, but value specified
self.assertEquals(result["bat"], 11) # set param
self.assertEquals(result["qux"], 22) # set param
self.assertIsNone(result.get("rok")) # defined in paramdict, no config
def test_apply_startup_params(self):
"""
Test that the apply startup parameters method exists and throws
a "not implemented" exception for the base class
"""
self.assertRaises(NotImplementedException,
self.protocol.apply_startup_params)
def test_scheduler(self):
"""
Test to see that the scheduler can add and remove jobs properly
Jobs are just queued for adding unit we call initialize_scheduler
then the jobs are actually created.
"""
dt = datetime.datetime.now() + datetime.timedelta(0,1)
job_name = 'test_job'
startup_config = {
DriverConfigKey.SCHEDULER: {
job_name: {
DriverSchedulerConfigKey.TRIGGER: {
DriverSchedulerConfigKey.TRIGGER_TYPE: TriggerType.ABSOLUTE,
DriverSchedulerConfigKey.DATE: dt
}
}
}
}
self.protocol.set_init_params(startup_config)
# Verify we are initialized properly
self.assertIsNone(self.protocol._scheduler)
self.assertEqual(self.protocol._scheduler_config, {})
self.assertEqual(self.protocol._scheduler_callback, {})
# Verify the the scheduler is created
self.protocol.initialize_scheduler()
self.assertIsInstance(self.protocol._scheduler, DriverScheduler)
self.assertEqual(self.protocol._scheduler_config, {})
self.assertEqual(self.protocol._scheduler_callback, {})
# Now lets see some magic happen. Lets add our schedulers. Generally
# This would be done as part of the protocol init, but it can happen
# anytime. If the scheduler has already been initialized the
# job will be started right away