Archive: Namaste PHP AMQP framework v1.0 (2017-2020)

952 days continuous production uptime, 40k+ tp/s single node.
Original corpo Bitbucket history not included — clean archive commit.
This commit is contained in:
2026-04-05 09:49:30 -07:00
commit 373ebc8c93
1284 changed files with 409372 additions and 0 deletions

88
scripts/launchBrokers.sh Normal file
View File

@@ -0,0 +1,88 @@
#!/bin/bash
#
# Namaste launch script -- launches the brokers via nohup as background (daemon) processes
#
# usage: $0 >/dev/null
#
# Note that this bash script should be called from the php script: startBrokers.php
#
# although it will work fine if called by itself - the launch script reads the configuration file
# and launches the number of broker instances specified therein.
#
# HISTORY:
# --------
# 06-12-17 mks original coding
#
if [ $(id -u) = "0" ];
then
echo "$0 cannot be run as root"
exit 1
fi
SCRIPT=$(readlink -f $0)
SCRIPTPATH=$(dirname ${SCRIPT})
BASEPATH=$(dirname ${SCRIPTPATH})
#echo "0: basepath: ${BASEPATH}"
TDIR="${BASEPATH}/brokers"
PDIR="${BASEPATH}/pids/"
if [ $# -eq 0 ]
then
for file in ${TDIR}/*.php
do
echo ${file}
[ -f ${file} -a -s ${file} ] && nohup php -f ${file} 2>&1 &
done
else
# if arguments are passed, loop through each assuming the formats 'brokerFileName' or 'brokerFileName:n'
# where 'n' is the number of instances of that broker to run
#
# example: 'dwBroker:5' would start 5 instances of the delayed-write broker
for arg in "$@"
do
IFS=':' read -ra splitArg <<< "${arg}"
# get number of processes for this broker
numProcesses=1
splitsize="${#splitArg[@]}"
if [ ${splitsize} -eq 2 ]
then
numProcesses=0;
processLocation=${splitArg[1]}
elif [ ${splitsize} -eq 3 ]
then
numProcesses=${splitArg[2]}
processLocation=${splitArg[1]}
fi
# start processes
broker=${splitArg[0]}
file=${TDIR}/${broker}.php
c=1
if [ $numProcesses -eq 0 ]; then
if [ -f ${file} -a -s ${file} ]; then
nohup php -f ${file} ${processLocation} 2>&1 &
pid=$!
#echo "1: nohup php -f ${file} ${processLocation}"
#echo "1: ${PDIR}${broker}.${c} has PID: ${pid}"
echo ${pid} > "${PDIR}${broker}.${processLocation}"
c=$((c+1))
fi
else
# echo "Starting ${file} ${numProcesses} times..."
for (( i=0; i<${numProcesses}; i++ ));
do
if [ -f ${file} -a -s ${file} ]; then
nohup php -f ${file} ${processLocation} 2>&1 &
pid=$!
#echo "2: nohup php -f ${file} ${processLocation}"
#echo "2: ${PDIR}${broker}.${c} has PID: ${pid}"
echo ${pid} > "${PDIR}${broker}.${processLocation}.${c}"
c=$((c+1))
else
echo "${file} was not found"
fi
done
fi
done
fi