#!/bin/bash
# Copyright (c) 2021 Huawei Technologies Co., Ltd
#
# This software is licensed under Mulan PSL v2.
# You can use this software according to the terms and conditions of the Mulan PSL v2.
# You may obtain a copy of Mulan PSL v2 at:
#
# http://license.coscl.org.cn/MulanPSL2
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
# See the Mulan PSL v2 for more details.

set -e
WRAPPER="/home/snuser/runtime/fnruntime/server.py"
CLASSPATH="/dcache/layer"
ADDRESS="${POD_IP}:31530"
RPC_ADDRESS="${POD_IP}:31531"
HandlerFilePath=""
HandlerName=""
RUNTIMECONFIG_PATH="/home/snuser/config/runtime.json"

function getCfgValByKey() {
    echo $(cat ${RUNTIMECONFIG_PATH} | sed 's/,/\n/g' | grep $1 | sed 's/:/\n/g' | sed '1d' | sed 's/}//g')
}

# limiting the number of file handles
ulimit -n $(getCfgValByKey "maxHandlerNum")

# prevent from creating files that have incorrect permission
umask 0027

echo ${RUNTIME_LANGUAGE}
exec -c ${RUNTIME_LANGUAGE} ${WRAPPER} ${ADDRESS} ${RPC_ADDRESS} ${HandlerFilePath} ${HandlerName} ${CLASSPATH}
exit 0
