6. 设置cron计划任务
设置cron计划任务方法有许多
在这里主要介绍2种方法
- 红帽自带的cron任务
- 阿里云监控
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
然后新建一个sh文件,名字随意,后缀我们填.sh
创建后会弹出一个编辑框,我们输入
php /var/lib/openshift/*/app-root/runtime/repo/cron.php
在这里我们需要注意的是我们的路径中没有/php文件夹了,所以命令中也就不需要了
细心的童鞋们会发现,其实那个*随机字符串也就是我们的登录名去掉@后面一部分
创建成功后,cron任务就添加完成了
全部上传安装后,打开网站是这个怎么办?
Welcome to your PHP application on OpenShift
亲,你上传的目录不对,或者没有直接上传根文件,一定要看准了在上传,别把文件夹上传了,而是上传里面的文件,具体看我上面的图片
少年报错啊- - https://sign-nncloud.rhcloud.com/
重启细下试试,或者重新下载完整包覆盖下
大神 有的地方不懂 能不能加下Q- - 771075192
博主高三,时间不多了亲,有什么问题直接在下面提出,我看到后会及时回复的
呃,那个插件能发我不 谢啦•﹏•
亲,文章中我已经放下载链接了呢
~(>_<)~你发的那个重启脚本连接的网站我打不开,能不能直接发我邮箱572380814@qq.com三克油T^T
怎么加入自动重启程序啊
已更新添加自动重启脚本
那个cron设置错的 不能用 根本执行不了 还是靠阿里云吧