配置: puma_server_conf.rb
#!/usr/bin/env puma
application_path = '/srv/rorapps/discount_service'
directory application_path
environment 'development'
daemonize true
pidfile "#{application_path}/tmp/pids/puma_4000.pid"
state_path "#{application_path}/tmp/pids/puma_4000.state"
stdout_redirect "#{application_path}/log/puma_4000.stdout.log", "#{application_path}/log/puma_4000.stderr.log"
port 4000
workers 8
启动开关:puma.sh
#! /usr/bin/env bash
current_path=`cd "$(dirname "$0")"; pwd`
. $current_path/function.sh
puma_file=$current_path/../puma_conf/puma_service_4000.rb
puma_pid=$current_path/../../tmp/pids/puma_4000.pid
echo "######### info #############"
echo "PUMA DISCOUNT SERVICE 4000"
echo "## $puma_file ## $puma_pid ##"
echo "############################"
case "$1" in
start)
puma -C $puma_file
echo "puma_service_4000 start ............... $(command_status)"
;;
status)
check_run_status_from_pid_file $puma_pid 'puma'
;;
stop)
kill -s SIGTERM `cat $puma_pid`
echo "puma_service_4000 stop ................ $(command_status)"
;;
restart)
# $0 stop
# sleep 1
# $0 start
kill -s SIGUSR2 `cat $puma_pid`
;;
*)
echo "tip:(start|stop|restart|status)"
exit 5
;;
esac
exit 0
初始文件:
MRS_DATA_PATH=`ruby $current_path/parse_property.rb MRS_DATA_PATH`
rails_env=`ruby $current_path/parse_property.rb RAILS_ENV`
processor_pid=$MRS_DATA_PATH/pids/sidekiq.pid
log_file=$MRS_DATA_PATH/logs/sidekiq.log
start:
create_file $processor_pid
create_file $log_file
parse_property.rb
require "yaml"
yaml: MRS_DATA_PATH : $HOME/DISCOUNT_SERVICE_DATA RAILS_ENV : development
config = YAML.load_file(File.expand_path("../property.yaml",__FILE__))
key = ARGV[0]
value = config[key]
value = value.gsub(/\/$/,"")
if "MRS_DATA_PATH" == key
`mkdir -p #{value}/logs`
`mkdir -p #{value}/sockets`
`mkdir -p #{value}/pids`
end
puts `echo #{value}`
工具文件 function
#! /usr/bin/env bash
function assert_process_from_name_not_exist()
{
local pid
pid=$(ps aux|grep $1|grep -v grep|awk '{print $2}')
if [ "$pid" ];then
echo "已经有一个 $1 进程在运行"
exit 5
fi
}
function assert_process_from_pid_file_not_exist()
{
local pid;
if [ -f $1 ]; then
pid=$(cat $1)
if [ $pid ] && [ "$(ps $pid|grep -v PID)" ]; then
echo "$1 pid_file 中记录的 pid 还在运行"
exit 5
fi
fi
}
function check_run_status_from_pid_file()
{
local pid;
local service_name;
service_name=$2
if [ -f $1 ]; then
pid=$(cat $1)
fi
if [ $pid ] && [ "$(ps $pid|grep -v PID)" ]; then
echo -e "$service_name [\e[1;32mrunning\e[0m]"
else
echo -e "$service_name [\e[1;31mnot running\e[0m]"
fi
}
function get_sh_dir_path()
{
echo -n $(cd "$(dirname "$0")"; pwd)
}
function command_status()
{
if [ $? == 0 ];then
echo -e "[\e[1;32msuccess\e[0m]"
else
echo -e "[\e[1;31mfail\e[0m]"
fi
}
function create_file()
{
local file_name;
file_name=$1
if [ -d file_name ]; then
echo "Directory Exists!"
else
touch file_name
fi
}
分享到:
相关推荐
该菜谱还将设置脚本以支持重新启动和分阶段重新启动。 默认情况下,puma_config将启用监视监视和通过logrotate进行日志轮转。 要求 monit,logrotate 用法 该菜谱包含两个定义:puma_install和puma_config。 puma...
redmine-nginx-puma 使用 Nginx 和 Puma 安装 Redmine 的示例配置文件和文档。... 服务的启动/停止脚本 nginx /etc/nginx Nginx 配置文件 红我 /home/redmine/redmine Redmine应用程序目录 执照 这个项目是
在puma上运行redmine:在puma上运行redmine安装教程(UbuntuMySQL)
当puma启动并时通知systemd 将彪马统计信息发布为系统,以进行快速概述使用来确保您的彪马过程运行正常并且没有被锁定或耗尽内存Puma已经原生支持。安装使用puma将此宝石添加到您的Gemfile中,然后进行捆绑: gem ...
实现PUMA560的D-H表以及在坐标系下的展示。此外还可以通过修改调试窗口内的数值来形象地观看PUMA560机器人的运动。程序中包含示例仿真,给定起始点、终止点、仿真时间、仿真间隔后,可以画出仿真过程中关节的速度、...
将PUMA560机械臂的三维模型生成urdf文件导入MATLAB中。包含了PUMA560机械臂的零件和装配体,以及生成的urdf文件。
MATLAB PUMA 762机械臂simulink仿真源代码,能够解决正向和反向运动学问题。 该代码基于DonRiley的“3D Puma机器人演示”。 对这些函数进行了一些修改,以便为反运动学问题(位置和方向)提供一个更完整的解决方案。 ...
puma560机器人运动学、动力学simulink联合仿真案例。
matlab自带puma560 DH 可以应用于robotics工具箱
某些文件更改时重新启动Puma 安装 将此行添加到您的应用程序的Gemfile中: gem 'guard-puma' 然后执行: $ bundle 或将其自己安装为: $ gem install guard-puma 用法 guard init puma或将以下内容手动添加到...
puma_jungle_rbenv_cap3 #背景 您已决定在世界上最好的生产环境中部署 Rails。 当然,您选择了: Ubuntu 14.04 Nginx(当然!简单的决定) Puma(线程是新的 nio,而 Puma 很棒) Rbenv(好吧,你就 rvm 与 ...
6 自由度机械臂轨迹规划 puma560
PUMA560模型文件
对于PUMA560机器人的动力学,运动学等的matlab仿真程序
puma560可视化仿真+PID控制.rar
puma560机器人的正逆解求解以及雅克比矩阵和动力学
彪马恩格罗克隧道 puma插件,在puma启动时将启动到您的rails服务器。 我主要是为了使以下操作更容易而构建的:弃用通知不再积极维护该gem,我建议改用以下替代方法: 或它能做什么 使用需要Web接收才能正常运行的...
机器人PUMA560的动力学方程
PUMA560是一种6轴的工业机器人,由Unimation公司开发,也被广泛用于研究和教学。 PUMA560机器人有以下主要特点: 1. 6个旋转关节:基座、上臂、前臂、手腕1、手腕2和手腕3,每个关节都由一个电机驱动。 2. 6个自由度:每个...
营销策划 -PUMA 彪马 SS SPORTSTYLE CAMPAIGN 传播策略案.pdf