Hi, but to execute wait_zeppelin_is_up_for_ci, should we first define a 
variable CI as "true"? I want to know where the variable CI was defined? thanks 

----- 原始邮件 -----

发件人: "moon soo Lee" <[email protected]> 
收件人: [email protected] 
发送时间: 星期六, 2015年 3 月 07日 上午 8:53:52 
主题: Re: hi, I want to know what's the usage of wait_zeppelin_is_up_for_ci 
function in zeppelin-daemon.sh?thanks 

Hi, 

start() function in zeppelin-daemon.sh starts java process for Zeppelin server. 
It could just simply check if launching this java process succeed or not. But 
some case, for example, even if java process is successfully launched, 
something still can be wrong and Zeppelin server is not serving anything 
(process is still running), 
We wanted CI server detect this case and for doing that, 
wait_zeppelin_is_up_for_ci() waits zeppelin server initializing itself and 
opening port and ready to serve. 

Thanks, 
moon 

On Fri, Mar 6, 2015 at 3:37 PM, Taotao.Li < [email protected] > wrote: 



thanks a lot, I'm reading the source code of zeppelin, hope to contribute 
something to this awesome project. 

here is the source code: 

function wait_zeppelin_is_up_for_ci() { 
if [[ "${CI}" == "true" ]]; then 
local count=0; 
while [[ "${count}" -lt 30 ]]; do 
curl -v localhost:8080 2>&1 | grep '200 OK' 
if [[ $? -ne 0 ]]; then 
sleep 1 
continue 
else 
break 
fi 
let "count+=1" 
done 
fi 
} 

here is the time to execute this function: 

function start() { 
local pid 

if [[ -f "${ZEPPELIN_PID}" ]]; then 
pid=$(cat ${ZEPPELIN_PID}) 
if kill -0 ${pid} >/dev/null 2>&1; then 
echo "${ZEPPELIN_NAME} is already running" 
return 0; 
fi 
fi 

initialize_default_directories 

nohup nice -n $ZEPPELIN_NICENESS $ZEPPELIN_RUNNER $JAVA_OPTS -cp $CLASSPATH 
$ZEPPELIN_MAIN >> "${ZEPPELIN_OUTFILE}" 2>&1 < /dev/null & 
pid=$! 
if [[ -z "${pid}" ]]; then 
action_msg "${ZEPPELIN_NAME} start" "${SET_ERROR}" 
return 1; 
else 
action_msg "${ZEPPELIN_NAME} start" "${SET_OK}" 
echo ${pid} > ${ZEPPELIN_PID} 
fi 

wait_zeppelin_is_up_for_ci 
sleep 2 
check_if_process_is_alive 
} 


thanks a lot 






Reply via email to