def _launch_cluster_from_thread(request, node_count, roxie_nodes, launch_config): # Get needed info session = request.session access_key_id = session.get('access_key_id') secret_access_key = session.get('secret_access_key') owner_id = session.get('owner_id') region = launch_config['region'] # Get a new cluster row id cluster = Cluster(owner_id=owner_id, node_count=node_count) cluster.requesting_ip = request.META.get('REMOTE_ADDR') cluster.region = region cluster.is_launching = True cluster.save() cluster_id = cluster.pk debug = False # Launch Cluster if debug: launch_cluster(node_count, roxie_nodes, cluster_id, launch_config, access_key_id, secret_access_key, owner_id) else: args = (node_count, roxie_nodes, cluster_id, launch_config, access_key_id, secret_access_key, owner_id) thread = Thread(target=launch_cluster, args=args) thread.daemon = True thread.start() return cluster_id