最近有一个这样的需求,商家设置一段时间,让用户在这个时间段里面进行商品的拍卖,时间到了,拍卖结束,并且由出价最高的那个用户获得该作品。 
时间到了自动对竞价情况进行筛选,这里我想到用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
Logo

更多推荐