博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
thinkphp3.2.3定时任务 不能获取本模块config, 不能获取本模块的其他配置
阅读量:6573 次
发布时间:2019-06-24

本文共 712 字,大约阅读时间需要 2 分钟。

一开始创建就有一个home模块

再创建一个Data模块

定时任务在/Application/Common/Conf/crons.php中,这里不讲怎么创建定时任务。

Data模块的配置文件路径如下

/Application/Data/Conf/config.php

定时任务中的逻辑是会调用Data模块的代码,竟然无法读取到Data中的配置文件,或者是4次有1次能读到配置,这个太不稳定了也不正常。

如果使用Data模块的接口调用,就可以读到配置文件。

对我产生的影响:

1. 微信模板消息是读取Data下的自定义的json模板,使用Data测试接口模板消息正常发送,上线后在定时任务中就不正常。
2. 定时任务中无法读取到Data中config.php的一些固定数据,这个发现比较及时。

最终怀疑到定时任务读取路径上,输出日志后果然是这样
后来打日志追踪配置文件路径,使用MODULE_PATH输出路径
20%的概率输出
/Application/Data/Conf/config.php
80%的概率输出
/Application/Home/Conf/config.php

这太TM坑了。

结论:

如果不用定时任务使用Data模块中接口去读Data模块的配置,就没有问题。
使用定时任务各种路径和配置会以默认模块Home为准。
解决办法一:使用绝对路径
解决办法二:将配置写入全局的配置文件中 /Application/Common/Conf中

如果在非默认模块Home下有自定义的json模板文件等,可以使用方法一

 

转载于:https://www.cnblogs.com/yuzhould/p/9944836.html

你可能感兴趣的文章
[BZOJ1934][Shoi2007]Vote 善意的投票[最小割]
查看>>
sort()排序
查看>>
Windows IO 性能简单测试
查看>>
HDU-1796 How many integers can you find 容斥定理
查看>>
css display&&hidden
查看>>
不使用border-radius,实现一个可复用的高度和宽度都自适应的圆角矩形
查看>>
平衡二叉树——Balance Binary Sort Tree 设计与实现
查看>>
https
查看>>
js动态加载css文件和js文件的方法
查看>>
HTML中的table和div
查看>>
SqlServer整库备份还原脚本
查看>>
使用Github发布自己的网站
查看>>
2019-04-28 Mybatis generator逆向工程生成的Example代码分析
查看>>
使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(七)
查看>>
解决datagridview 横向的scrollbar不显示
查看>>
异或的性质及运用
查看>>
05-树9 Huffman Codes
查看>>
高性能服务器架构思路
查看>>
计算机网络期末复习资料
查看>>
系统移植总结
查看>>