记录一个tp5命令行下的定时命令

来源:互联网 发布:vmware fusion 10 mac 编辑:程序博客网 时间:2024/06/15 01:28

前阵子有个需求是要做类似于定时发个推送消息的需求

最开始的打算是在项目之外的另一个专门写统计的项目里面写个action,专门查数据然后到发送时间就发送。这个就不多说了主要说下定时发送的问题,然后用linux的crontab命令定时执行那个脚本就ok了。之所以在统计的项目是因为。。业务的项目框架是tp5,我不会用在linux下直接跑- -。统计的项目经常有定时统计的需求,所以那边跑linux定时命令比较熟悉。但是后来技术bos说,统计的项目和业务项目要分开,所以就只好硬着头皮上了orz。

查了下tp5是又命令行模式的,但是相关资料实在太少了。。基本等于没有,继续头疼。

于是去tp5框架下的项目里建了个test,目录这样:.tp5项目的目录/application/admin/controller/test.php

文档给出的资料是这样的:


orz

完全没有任何提示作用啊!怎么跑嘛!

好。耐心,既然是命令行模式 直接试试跑统计脚本那样看行不行

统计脚本是这样跑的:

30 0 * * * php文件目录/php文件名称的基础类.php -c 要执行的php文件脚本 -f要执行的函数  product

那么试一下:


好的果然有bug。

咳咳说下 首先进入php的安装目录然后再执行的命令,马赛克掉的都是目录,毕竟是公司项目。和谐。

作为一个刚写代码没多久的萌新,本萌表示最喜欢的就是写代码一路顺畅没任何问题。。当然这不太可能。查bug每次都很痛苦,项目里还好,耐心的挨个输出调试就可以了。

但是。。命令行这种。。脑壳疼。其实我觉得这就是我作为一个萌新程序员不够优秀的原因。bug处理上,第一我不怎么会看bug日志,第二我不太会快速的定位问题,除非出错的代码本来就是我写的,如果是别人写的报bug了我来查。。就算一个简单的问题我也会查一个小时开外。。orz。第三就是我写代码的时候对有bug的可能处理不够。这些另外再说吧,先讨论脑壳疼的这个命令行问题。

好。耐心看bug提示,大不了去提示一步步跟。

错误提示no such file?


好的去看一下。果然没有- -。好吧 是框架里的tp包没更新。。更新下。

然后按照文档命令试一下。


创建模型文件

第一次是这样的php think model:Heko

。。然后。。创建到哪里去了?手动黑人问号脸??

找了半天后。。

- -好吧。再试下加上目录?

第二次:php think model:admin/Heko2

这次成功的创建在admin的controller目录下。

原来要加上指定的目录不然就创建在默认的里面了。

里面的adminbase是项目里的基类action

那么打开创建好的模型文件,随便输出个试试



好。见证奇迹的时刻!!

执行 php think admin/Heko2/index!。。提示没session??好吧 想起来了,在入口action里我有判断检查是否有登录的session,没有要跳转到登录界面。。

orz。没关系!肯定有命令行模式的开关!设置了然后判断下,不是命令行再判断session跳转就ok了!


设置完毕!继续!


好了!破费!

然后把要执行的代码copy进去,然后定时跑下crontab命令就ok了!

但是问题又来了。命令行下直接php  /目录/public/index.php /admin/test/index 输出是没问题的

但是不会跑循环命令……

脑壳疼

打了输出日志看一下,定是命令根本就没有跑吗!!

灵机一动。去查一下crontab的日志!

执行:tail -f  /var/log/cron*

Aug 26 06:33:01 stationmg CROND[8327]: (linux账号) CMD (php  /目录/public/index.php /admin/test/index)

所以、。其实是执行了但是没成功?但是命令行直接执行有没问题。。。说明不是代码的问题!

问万能的度娘吧。

看了下大致是说crontab  php /目录/public/index.php /admin/test/index这样执行的时候php无法解析。。?

我去看了吓之前的定时跑的php脚本 

开头都是这样的

#php的目录 

那是不是找不到php的安装目录?

试一下 反正错了又没损失!

*/3 * * * * /php安装目录/php  /项目目录/public/index.php /admin/test/cycle

然后!见证奇迹的时刻!!

居然成功了!

破费!

事实充分证明,遇到问题查bug是个都么优秀的习惯。。新技能get!



0 0
原创粉丝点击