我希望我能得到一些建议。PHP CRON作业与用户登录的调用函数
我在我的PHP/MySQL系统中拥有会计分类帐,并且每隔一段时间就会打到分类账的发票(对于这个例子,我们只是每月说一次)。我也有滞纳金,需要在特定日期后申请。发票的“过帐”日期以及“这是迟到”日期已在数据库中。
我想知道哪个是更好的方法来运行自动应用分类账项目的脚本(每月一次) - 并自动输入延迟费用(如果需要,也会每月进行一次)。对于系统的所有用户来说,这些日期是不同的 - 就像我说的,所有的都存储在数据库中。我的选择,因为我看到它是:
有运行,每天一次(即中午12:00每一天)cron作业 - 通过每一个项目开始,在做的工作,如果日期条件得到满足。
我想我喜欢这种方法,因为它每天都在同一时间处理所有事情。
我很担心这种方法,因为:(1)如果我的服务器在我的CRON工作计划时关闭,CPANEL现在是否完全跳过? (2)如果我有100k甚至1亿条条目筛选,那么在运行时,这会对我的服务器造成难以承受的负载吗?
调用此脚本在“做工作”,如果日期条件都满足,只有当相关用户登录。
为什么我不喜欢这种方法尽可能多的原因,是因为它得到告诉申请多少发票越来越复杂,需要支付多少滞纳金。另外,我有一个“管理员”的用户谁可以看到每一个人每一件事 - 即用户可能有没有及时更新台账信息租客已没有足够的最近登录...
我喜欢的reasn这种方法,是因为它显然是在服务器上的负载较小...
也许我在思考的东西。不知道...但建议将不胜感激。 谢谢。
如果用户在一年内没有登录您的系统会怎么样 - 您不会向他发送发票? – zerkms 2011-04-12 02:26:22
如果你每天都这样做,你真的希望有大量1亿行需要更新?对于你的第二种情况,我建议做2件事。 1.管理员查看特定用户时的计算结果。 2.如果您在页面上有任何统计数据,请给管理员一个按钮来同步数据。现在,因为用户可能永远不会返回,因为你的管理员可能是懒惰的。你可以尝试两种方法的组合。附:据我所知,如果cronjob失败。它被“跳过”。 – Khez 2011-04-12 02:29:59
** @ zerkms ** - 当我看到您的观点时,事实仍然是我希望代码能够最终保持稳健...并且持续2-3个月,直到认真收集资金是很常见的... * * @ Khez ** - 我不会更新100Mil行,但我将不得不检查100Mil行... – Shackrock 2011-04-12 02:36:09