#!/usr/bin/env python # Copyright 2015 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """The main task entrypoint.""" import argparse import logging import socket import sys import time #pylint: disable=relative-import import common_lib import rpc_server import ssl_util def main(): print ' '.join(sys.argv) common_lib.InitLogging() logging.info('Task starting') parser = argparse.ArgumentParser() parser.add_argument('--otp', help='One time token used to authenticate with the host') parser.add_argument('--controller', help='The ip address of the controller machine') parser.add_argument('--idle-timeout', type=int, default=common_lib.DEFAULT_TIMEOUT_SECS, help='The idle timeout for the rpc server in seconds') args, _ = parser.parse_known_args() logging.info( 'Registering with registration server at %s using OTP "%s"', args.controller, args.otp) ssl_util.SslRpcServer.Connect(args.controller).RegisterTask( args.otp, common_lib.MY_IP) server = rpc_server.RpcServer(args.controller, args.idle_timeout) server.serve_forever() logging.info('Server shutdown complete') return 0 if __name__ == '__main__': sys.exit(main())