hll451520 发表于 2019-1-11 16:09:57

CI新手关于如何做一个定时触发器

写了一个收取邮件的功能,但是不知道该怎么定时循环调用这个函数,CI框架里有类似的功能吗?

hll451520 发表于 2019-1-15 11:41:53

Hex 发表于 2019-1-15 11:33
为什么要在 PHP 收取?具体是什么功能?说说你的需求,看看能不能给你一个合理的解决方案。 ...

你好! 就是我做了一个系统,要求用outlook发送邮件,读取邮件的信息后写入数据库,并及时给予邮件回复。目前我已经实现了这个功能,但是需要靠手动触发才能实现收取回复。希望实现一个定时功能,让系统隔一段时间就查一下邮箱是否有新的邮件,自动读取

hll451520 发表于 2019-1-15 11:48:56

Skiy 发表于 2019-1-15 11:31
shell 能实现啊,但是,也是写个死循环,再加个 sleep 而已。
用 crontab 不是更好么?WIN下的话,用写 bat ...

不好意思 ,我问的问题可能有点蠢!不知道为什么我按照网上的教学,用bat脚本打开php文件会变成直接打开文件,然后CI框架下运行不是都要通过入口文件吗?这个在bat里应该怎么实现呢?

hll451520 发表于 2019-1-15 15:14:00

Hex 发表于 2019-1-15 14:17
windows 也有计划任务 你可以试试这个东西定时执行 .php 文件

我在命令行里尝试直接打开控制器的php文件,显示access deniede,但是自己随便写个却能正常打开 是CI框架限制只能从index.php 进入的原因吗?

Jalong 发表于 2019-1-14 00:23:05

没有 linux用crontab
php原生态用
ignore_user_abort
set_time_limit
然后do循环 配合sleep

配合curl去请求任务地址

可以实现 也就是所谓的常驻内存

hll451520 发表于 2019-1-15 09:39:44

Jalong 发表于 2019-1-14 00:23
没有 linux用crontab
php原生态用

我使用windows ,试了一下你说的方法,好像效果不太好

hll451520 发表于 2019-1-15 09:40:55

不知道用shell脚本能不能实现,但是CI框架不是要从入口文件处加载? 这种情况下有办法能解决吗

Skiy 发表于 2019-1-15 11:31:24

shell 能实现啊,但是,也是写个死循环,再加个 sleep 而已。
用 crontab 不是更好么?WIN下的话,用写 bat,再加个服务。

Hex 发表于 2019-1-15 11:33:58

为什么要在 PHP 收取?具体是什么功能?说说你的需求,看看能不能给你一个合理的解决方案。

Hex 发表于 2019-1-15 14:17:04

hll451520 发表于 2019-1-15 11:41
你好! 就是我做了一个系统,要求用outlook发送邮件,读取邮件的信息后写入数据库,并及时给予邮件回复。 ...

windows 也有计划任务 你可以试试这个东西定时执行 .php 文件
页: [1] 2
查看完整版本: CI新手关于如何做一个定时触发器