用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4328|回复: 11
收起左侧

[上传/下载] CI新手关于如何做一个定时触发器

[复制链接]
发表于 2019-1-11 16:09:57 | 显示全部楼层 |阅读模式
写了一个收取邮件的功能,但是不知道该怎么定时循环调用这个函数,CI框架里有类似的功能吗?
 楼主| 发表于 2019-1-15 11:41:53 | 显示全部楼层
Hex 发表于 2019-1-15 11:33
为什么要在 PHP 收取?具体是什么功能?说说你的需求,看看能不能给你一个合理的解决方案。 ...

你好! 就是我做了一个系统,要求用outlook发送邮件,读取邮件的信息后写入数据库,并及时给予邮件回复。目前我已经实现了这个功能,但是需要靠手动触发才能实现收取回复。  希望实现一个定时功能,让系统隔一段时间就查一下邮箱是否有新的邮件,自动读取
 楼主| 发表于 2019-1-15 11:48:56 | 显示全部楼层
Skiy 发表于 2019-1-15 11:31
shell 能实现啊,但是,也是写个死循环,再加个 sleep 而已。
用 crontab 不是更好么?WIN下的话,用写 bat ...

不好意思 ,我问的问题可能有点蠢!不知道为什么我按照网上的教学,用bat脚本打开php文件会变成直接打开文件,然后CI框架下运行不是都要通过入口文件吗?这个在bat里应该怎么实现呢?
 楼主| 发表于 2019-1-15 15:14:00 | 显示全部楼层
Hex 发表于 2019-1-15 14:17
windows 也有计划任务 你可以试试这个东西定时执行 .php 文件

我在命令行里尝试直接打开控制器的php文件,显示access deniede,但是自己随便写个却能正常打开 是CI框架限制只能从index.php 进入的原因吗?
发表于 2019-1-14 00:23:05 | 显示全部楼层
没有 linux用crontab
php原生态用
PHP复制代码
 
ignore_user_abort
set_time_limit
然后do循环 配合sleep
 
配合curl去请求任务地址
 
可以实现 也就是所谓的常驻内存
 
复制代码

 楼主| 发表于 2019-1-15 09:39:44 | 显示全部楼层
Jalong 发表于 2019-1-14 00:23
没有 linux用crontab
php原生态用

我使用windows ,试了一下你说的方法,好像效果不太好
 楼主| 发表于 2019-1-15 09:40:55 | 显示全部楼层
不知道用shell脚本能不能实现,但是CI框架不是要从入口文件处加载? 这种情况下有办法能解决吗
发表于 2019-1-15 11:31:24 | 显示全部楼层
shell 能实现啊,但是,也是写个死循环,再加个 sleep 而已。
用 crontab 不是更好么?WIN下的话,用写 bat,再加个服务。
发表于 2019-1-15 11:33:58 | 显示全部楼层
为什么要在 PHP 收取?具体是什么功能?说说你的需求,看看能不能给你一个合理的解决方案。
发表于 2019-1-15 14:17:04 | 显示全部楼层
hll451520 发表于 2019-1-15 11:41
你好! 就是我做了一个系统,要求用outlook发送邮件,读取邮件的信息后写入数据库,并及时给予邮件回复。 ...

windows 也有计划任务 你可以试试这个东西定时执行 .php 文件

本版积分规则