cron jobs 无需在 PHP 中使用 HTTP 服务器请求即可运行,并带有 Yii 框架


cron jobs function without using http server request in php with yii framework

我有数百万条短信和电子邮件,我想通过使用带有Yii框架functino的cron来执行。由于服务器命中,某些时间进程卡住了。现在我只是想知道,是否有任何控制台解决方案可以无限时间执行我们的 php 函数。

请向我建议.提前谢谢.

问候桑吉夫·克尔·戈斯瓦米

美好的一天,希望能帮到你,

  1. 默认情况下,Php 稳定运行 quer 的 30 秒限制,除非您通过 php 命令指定其他内容set_time_limit在几秒钟内运行,0 表示没有时间,请查看 yii 是否利用了此功能......

  2. 然后你必须检查内存使用情况,如果你的循环不够理想,你将在每个循环中保存信息,直到你用完内存,2个解决方案,

1.1 使用 memory_limit 函数/PHP 升级内存.ini1.2(最佳选择)调试代码以查看内存消耗...

1.3 您还必须确保您的smtp中继和短信服务能够接收数百万封电子邮件或任务,并且您没有被安全部门阻止。查看您的提供商的文档,最后尝试运行较小的数量以找到突破点,我建议如果无法找到确切的断点,您可以使用泽农悖论阿喀琉斯和来找出它

1.4(有一点建议)如果这些步骤已经完成,你可以开始说服务器按点击,你可以随心所欲地责怪PHP/Apache,因为你是对的,然后去喝杯咖啡,然后回来调试,调试,调试,以最佳方式重写函数。我保证在 php 中运行数百万个循环的进程,并且在设置正确的环境时不会遇到命中失败。要获得这方面的帮助,我建议 https://wiki.koumbit.net/ApacheDebugging

关于在控制台模式下运行,我强烈建议您阅读此 http://www.larryullman.com/2010/10/07/creating-a-yii-console-application/来自Php Jedi Larry Ullman,它解释了如何使用yii 1创建控制台应用程序

我的问候。