最近有一个这样的需求,商家设置一段时间,让用户在这个时间段里面进行商品的拍卖,时间到了,拍卖结束,并且由出价最高的那个用户获得该作品。
时间到了自动对竞价情况进行筛选,这里我想到用crontab,但crontab最小只能一分钟执行一次,下面记录我的解决方法。
1) 新增加一个方法crontab,把相关的竞价处理代码写在里面,那么要执行这个方法只需要调用 http://test.com/crontab 这个链接即可;
2) 增加一个脚本 crontab.sh;
[root@localhost ~]# vim /home/visionz/crontab/crontab.sh
- 1
3) crontab.sh 里面每秒中调用一次 http://test.com/crontab 链接;
如果网址是https协议头,出现curl: (60) Peer's Certificate issuer is not recognized.错误,用curl -k --tlsv1 https://designer.jmt.com
#!/bin/bash
step=1 #间隔的秒数,不能大于60
for (( i = 0; i < 60; i=(i+step) )); do
curl http://designer.jmt.com #调用链接
sleep $step
done
exit 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
4) 用crontab每分钟执行一次crontab.sh文件;
(wpcd宝塔 在/etc/crontab文件修改也行)
//编辑 crontab 文件,顺带一提,查看为 crontab -l
[root@localhost ~]# crontab -e
*/1 * * * * /bin/sh /home/visionz/crontab/crontab.sh