本文整理汇总了Python中service.Service.create方法的典型用法代码示例。如果您正苦于以下问题:Python Service.create方法的具体用法?Python Service.create怎么用?Python Service.create使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类service.Service
的用法示例。
在下文中一共展示了Service.create方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: service_create
# 需要导入模块: from service import Service [as 别名]
# 或者: from service.Service import create [as 别名]
def service_create(image, name, start, target_num_instances, instance_size, run_command, env, ports, exposes,
volumes, links, namespace, scaling_info, custom_domain_name, region_name):
image_name, image_tag = util.parse_image_name_tag(image)
instance_ports, port_list = util.parse_instance_ports(ports)
expose_list = util.merge_internal_external_ports(port_list, exposes)
instance_ports.extend(expose_list)
instance_envvars = util.parse_envvars(env)
links = util.parse_links(links)
volumes = util.parse_volumes(volumes)
scaling_mode, scaling_cfg = util.parse_autoscale_info(scaling_info)
if scaling_mode is None:
scaling_mode = 'MANUAL'
service = Service(name=name,
image_name=image_name,
image_tag=image_tag,
target_num_instances=target_num_instances,
instance_size=instance_size,
run_command=run_command,
instance_ports=instance_ports,
instance_envvars=instance_envvars,
volumes=volumes,
links=links,
namespace=namespace,
scaling_mode=scaling_mode,
autoscaling_config=scaling_cfg,
custom_domain_name=custom_domain_name,
region_name=region_name)
if start:
service.run()
else:
service.create()
示例2: main
# 需要导入模块: from service import Service [as 别名]
# 或者: from service.Service import create [as 别名]
def main(queue_results, queue_errors):
log.info("Starting with process ID %d", os.getpid())
# Check if the user is an Administrator.
# If not, quit with an error message.
if not shell.IsUserAnAdmin():
log.error("The user is not an Administrator, aborting")
queue_errors.put('NOT_AN_ADMIN')
return
# Generate configuration values.
cfg = Config()
# Check if this is a supported version of Windows and if so, obtain the
# volatility profile name.
cfg.get_profile_name()
if not cfg.profile:
log.error("Unsupported version of Windows, can't select a profile")
queue_errors.put('UNSUPPORTED_WINDOWS')
return
log.info("Selected Profile Name: {0}".format(cfg.profile))
# Obtain the path to the driver to load. At this point, this check should
# not fail, but you never know.
if not cfg.get_driver_path():
log.error("Unable to find a proper winpmem driver")
queue_errors.put('NO_DRIVER')
return
log.info("Selected Driver: {0}".format(cfg.driver))
# This is the ugliest black magic ever, but somehow helps.
# Just tries to brutally destroy the winpmem service if there is one
# lying around before trying to launch a new one again.
destroyer = threading.Thread(target=destroy, args=(cfg.driver, cfg.service_name))
destroyer.start()
destroyer.join()
# Initialize the winpmem service.
try:
service = Service(driver=cfg.driver, service=cfg.service_name)
service.create()
service.start()
except DetectorError as e:
log.critical("Unable to start winpmem service: %s", e)
queue_errors.put('SERVICE_NO_START')
return
else:
log.info("Service started")
# Launch the scanner.
try:
scan(cfg.service_path, cfg.profile, queue_results)
except DetectorError as e:
log.critical("Yara scanning failed: %s", e)
queue_errors.put('SCAN_FAILED')
else:
log.info("Scanning finished")
# Stop the winpmem service and unload the driver. At this point we should
# have cleaned up everything left on the system.
try:
service.stop()
service.delete()
except DetectorError as e:
log.error("Unable to stop winpmem service: %s", e)
else:
log.info("Service stopped")
log.info("Analysis finished")