41 lines
		
	
	
		
			790 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			790 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#! /bin/sh
 | 
						|
if ! command -v python && command -v python3 ; then
 | 
						|
	alias python='python3'
 | 
						|
fi
 | 
						|
 | 
						|
function run {
 | 
						|
	gunicorn --bind 0.0.0.0:${PORT:-8000} --preload --access-logfile - morss
 | 
						|
}
 | 
						|
 | 
						|
function daemon {
 | 
						|
	gunicorn --bind 0.0.0.0:${PORT:-8000} --preload --access-logfile - --daemon morss
 | 
						|
}
 | 
						|
 | 
						|
function reload {
 | 
						|
	pid=$(pidof 'gunicorn: master [morss]') # NB. requires python-setproctitle
 | 
						|
 | 
						|
	if [ -z "$pid" ]; then
 | 
						|
		# if gunicorn is not currently running
 | 
						|
		daemon
 | 
						|
 | 
						|
	else
 | 
						|
		kill -s USR2 $pid
 | 
						|
		kill -s WINCH $pid
 | 
						|
		sleep 1 # give gunicorn some time to reload
 | 
						|
		kill -s TERM $pid
 | 
						|
 | 
						|
	fi
 | 
						|
}
 | 
						|
 | 
						|
function check {
 | 
						|
	python -m morss.crawler http://localhost:${PORT:-8000}/ > /dev/null 2>&1
 | 
						|
}
 | 
						|
 | 
						|
if [ "$1" = "sh" ] || [ "$1" = "bash" ] || [ "$(type -t "$1")" = "function" ]; then
 | 
						|
	$@
 | 
						|
 | 
						|
else
 | 
						|
	python -m morss $@
 | 
						|
 | 
						|
fi
 |