//随机红包(总份数、最大金额、最小金额、总数)
protected function random_redpaper($total, $max, $min, $sum){
$sum = $sum * 100;
//按分单位,后面全部用整数金额
$users = array_fill(0, $total, $min);
$left = $sum - $min * $total;
//将剩余金额按rand(1, ceil($left/$total))每次进行随机分配, $left 小于50直接分配完成
for(;$left > 0;){
$amount = $left > 50 ? rand(1, ceil($left/$total)) : $left;
$user_index = rand(0, $total-1);
if($users[$user_index] + $amount > $max){
$amount = $max - $users[$user_index];
$users[$user_index] = $max;
}else{
$users[$user_index] += $amount;
}
$left -= $amount;
}
//恢复按元单位
foreach($users as &$user){
$user = $user/100;
}
return $users;
}
月度归档: 2021年12月
centos7 yum 安装 rabbitMQ
引用自https://www.rabbitmq.com/install-rpm.html
Install on Older Distributions (CentOS 7, RHEL 7) Using PackageCloud Yum Repository
添加sign
## primary RabbitMQ signing key
rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
## modern Erlang repository
rpm --import https://packagecloud.io/rabbitmq/erlang/gpgkey
## RabbitMQ server repository
rpm --import https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
添加repo
创建文件/etc/yum.repos.d/rabbitmq.repo
##
## Zero dependency Erlang
##
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
##
## RabbitMQ server
##
[rabbitmq_server]
name=rabbitmq_server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
# PackageCloud's repository key and RabbitMQ package signing key
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_server-source]
name=rabbitmq_server-source
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
更新yum
yum update -y
报错
Delta RPMs disabled because /usr/bin/applydeltarpm not installed
再安装deltarpm
yum install deltarpm
yum clean all
yum update -y
执行安装
yum install socat logrotate -y
yum install erlang rabbitmq-server -y