think如何实现php定时执行任务,且时间是可配置的

php中文网
发布: 2016-06-06 20:35:15
原创
1203人浏览过

小菜需要做个php的定时执行任务的需求。查到的三种方法,1是windows计划任务,2,是linux的shell,3,是php的sleep方法。可想了想都不太好通过从数据库中获取自定义的时间间隔来定时间隔执行代码。求教

回复内容:

小菜需要做个php的定时执行任务的需求。查到的三种方法,1是windows计划任务,2,是linux的shell,3,是php的sleep方法。可想了想都不太好通过从数据库中获取自定义的时间间隔来定时间隔执行代码。求教

crontab

写一个PHP文件 ,写一个shell脚本,设置crontab定时执行脚本,shell脚本里执行php文件

有一种思路:只写一个 crontab 任务,每分钟运行一次脚本 cron.php

立即学习PHP免费学习笔记(深入)”;

然后你所有的逻辑都写在 cron.php 中,在 cron.php 中你判断是应该执行某个任务,或者是直接退出。

MagicStudio
MagicStudio

图片处理必备效率神器!为你的图片提供神奇魔法

MagicStudio 102
查看详情 MagicStudio

http://laravel-china.org/docs/5.0/artisan#scheduling-artisan-commands

把需要执行的时间扔redis等队列里,然后php while一直读取队列,到时间执行队列,没有到时间继续扔进队列。

结合起来用啊。
回答在linux下
使用crontab执行定时任务,定时执行某个PHP文件,文件的内容可以根据时间来执行。
比如:

<code>punlic function doAction(){
    $actionTime = 'select....'//从数据库取出时间
    if($actionTime>time()){//判断当前时间和指定时间执行操作
        ...
    }else{
        ....
    }
}
</code>
登录后复制

还有细节可以优化,比如缓存操作结果,减少数据库查询次数,减少开销

你当是js呢?有触发器?都是通过系统的定时任务的要不然你就写个死循环吧,让这个程序无时无刻不在循环,通过判断时间戳执行,你的机器会被拖垮的,骚年,还是用linux的定时任务吧,网站开发本来就是一个综合应用,单独php是不可能完成所有事情的,web开发人员必须拓展js及linux知识

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号