6. 设置cron计划任务

设置cron计划任务方法有许多
在这里主要介绍2种方法

  1. 红帽自带的cron任务
  2. 阿里云监控

1.红帽自带的cron任务
在这里我就直接搬运论坛大神Fans Leader的教程了
http://www.kookxiang.com/thread-425-1-1.html
首先登录openshift的网站。
打开你的应用设置页面
接着选择"Or, see the entire list of cartridges you can add"
然后找到"Cron 1.4",然后添加
添加完成后Cron就安装完了,接下来就是重头戏了,也是最重要的部分。
登录SSH,然后依次进入app-root-runtime-repo-.openshift-cron-minutely
在winscp中路径会显示为/var/lib/openshift//app-root/runtime/repo/.openshift/cron/minutely(为随机字符串,每个人都不同,以实际为准)
然后新建一个sh文件,你可以将文件名写成"qiandao.sh",然后输入以下内容
php /var/lib/openshift/*/app-root/runtime/repo/php/cron.php
*为随机字符串,每个人都不同,以实际为准,填入你的winscp显示的)
然后保存,就这样,我们完成了cron设置。
PS:其实使用openshift自带的cron在执行任务的时候会比外界cron快很多,我来解释下为什么。
外界cron执行事例:本部服务器→(GET请求)→openshift执行任务→(签到请求)→百度服务器→(返回结果)
内置cron执行事例:openshift服务器→(执行任务)→(签到请求)→百度服务器→(返回结果)
从图示上看,使用内置cron少了一个GET请求过程,为什么呢,因为我们在脚本中定义了,直接用php执行,耗时可以忽略不计,对于强迫症的童鞋,几百毫秒的时间差也会要命吧,本来从百度ping到openshift大概在100ms、200ms左右,如果你用其他的cron服务的话,网速快的话也有几十毫秒差,省下这些时间不但可以提高执行效率还能执行的更多也说不定。

前面的添加cron我们已经搞定了,我们直接从后面开始
我们先用winscp登录SSH,然后依次进入app-root-runtime-repo-.openshift-cron-minutely
60.png
然后新建一个sh文件,名字随意,后缀我们填.sh
61.png
创建后会弹出一个编辑框,我们输入
php /var/lib/openshift/*/app-root/runtime/repo/cron.php
在这里我们需要注意的是我们的路径中没有/php文件夹了,所以命令中也就不需要了
62.png
细心的童鞋们会发现,其实那个*随机字符串也就是我们的登录名去掉@后面一部分
63.png
创建成功后,cron任务就添加完成了
64.png