本文整理汇总了Python中worker.Worker.signal方法的典型用法代码示例。如果您正苦于以下问题:Python Worker.signal方法的具体用法?Python Worker.signal怎么用?Python Worker.signal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类worker.Worker
的用法示例。
在下文中一共展示了Worker.signal方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: from worker import Worker [as 别名]
# 或者: from worker.Worker import signal [as 别名]
#.........这里部分代码省略.........
)
args = parser.parse_args()
# Get the username and password.
logger.info('Connecting to %s' % args.server)
if args.password_file:
if os.stat(args.password_file).st_mode & (stat.S_IRWXG | stat.S_IRWXO):
print >>sys.stderr, """
Permissions on password file are too lax.
Only the user should be allowed to access the file.
On Linux, run:
chmod 600 %s""" % args.password_file
exit(1)
with open(args.password_file) as f:
username = f.readline().strip()
password = f.readline().strip()
else:
username = os.environ.get('CODALAB_USERNAME')
if username is None:
username = raw_input('Username: ')
password = os.environ.get('CODALAB_PASSWORD')
if password is None:
password = getpass.getpass()
# Set up logging.
if args.verbose:
logging.basicConfig(format='%(asctime)s %(message)s', level=logging.DEBUG)
else:
logging.basicConfig(format='%(asctime)s %(message)s', level=logging.INFO)
try:
bundle_service = BundleServiceClient(args.server, username, password)
except BundleAuthException as ex:
logger.error('Cannot log into the bundle service. Please check your worker credentials.\n')
logger.debug('Auth error: {}'.format(ex))
return
max_work_dir_size_bytes = parse_size(args.max_work_dir_size)
if args.max_image_cache_size is None:
max_images_bytes = None
else:
max_images_bytes = parse_size(args.max_image_cache_size)
if not os.path.exists(args.work_dir):
logging.debug('Work dir %s doesn\'t exist, creating.', args.work_dir)
os.makedirs(args.work_dir, 0o770)
def create_local_run_manager(worker):
"""
To avoid circular dependencies the Worker initializes takes a RunManager factory
to initilize its run manager. This method creates a LocalFilesystem-Docker RunManager
which is the default execution architecture Codalab uses
"""
docker_runtime = docker_utils.get_available_runtime()
cpuset = parse_cpuset_args(args.cpuset)
gpuset = parse_gpuset_args(args.gpuset)
dependency_manager = LocalFileSystemDependencyManager(
os.path.join(args.work_dir, 'dependencies-state.json'),
bundle_service,
args.work_dir,
max_work_dir_size_bytes,
)
image_manager = DockerImageManager(
os.path.join(args.work_dir, 'images-state.json'), max_images_bytes
)
return LocalRunManager(
worker,
image_manager,
dependency_manager,
os.path.join(args.work_dir, 'run-state.json'),
cpuset,
gpuset,
args.work_dir,
docker_runtime=docker_runtime,
docker_network_prefix=args.network_prefix,
)
worker = Worker(
create_local_run_manager,
os.path.join(args.work_dir, 'worker-state.json'),
args.id,
args.tag,
args.work_dir,
args.exit_when_idle,
bundle_service,
)
# Register a signal handler to ensure safe shutdown.
for sig in [signal.SIGTERM, signal.SIGINT, signal.SIGHUP]:
signal.signal(sig, lambda signup, frame: worker.signal())
# BEGIN: DO NOT CHANGE THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING
# THIS IS HERE TO KEEP TEST-CLI FROM HANGING
print('Worker started.')
# END
worker.start()
示例2: exit
# 需要导入模块: from worker import Worker [as 别名]
# 或者: from worker.Worker import signal [as 别名]
print >> sys.stderr, """
Permissions on password file are too lax.
Only the user should be allowed to access the file.
On Linux, run:
chmod 600 %s""" % args.password_file
exit(1)
with open(args.password_file) as f:
username = f.readline().strip()
password = f.readline().strip()
else:
username = raw_input('Username: ')
password = getpass.getpass()
# Set up logging.
if args.verbose:
logging.basicConfig(format='%(asctime)s %(message)s',
level=logging.DEBUG)
max_work_dir_size_bytes = parse_size(args.max_work_dir_size)
worker = Worker(args.id, args.tag, args.work_dir, max_work_dir_size_bytes,
args.shared_file_system, args.slots,
BundleServiceClient(args.server, username, password),
DockerClient())
# Register a signal handler to ensure safe shutdown.
for sig in [signal.SIGTERM, signal.SIGINT, signal.SIGHUP]:
signal.signal(sig, lambda signup, frame: worker.signal())
print 'Worker started.'
worker.run()