【发布时间】:2010-07-01 12:08:45
【问题描述】:
我必须用 JS + PHP + MYSQL 开发一个时事通讯管理器,我想知道一些关于浏览器超时 JS 功能的事情。如果我正在运行一个延迟调用自身的递归函数(而 PHP 返回一个电子邮件列表),我如何确定浏览器不会使这个 JS 函数超时?
我问这个,因为我记得使用过类似的时事通讯管理器,在执行 ajax 请求时,在几次调用之后,它没有任何明显的原因就停止了。我知道 JS 不适合这个,我应该在服务器上使用 Crontab,但是,我不能假设用户服务器处理 cron,所以我不得不坚持使用 JS + php。
PS - 这个应用程序还没有发生这种情况,我只是想防止出现更糟糕的情况(因为我测试了一个时事通讯管理器,它的工作原理与我正在开发的这个相同)。由于我的虚拟电子邮件列表很小,而且通话之间的延迟也很小,这很好用,但是让我们想象一个 1,000 个联系人列表,发送之间的延迟为 120 秒:每 2 分钟发送 30 封电子邮件。
顺便问一下,这是为什么呢?嗯,许多托管服务器对每天或每小时发送的电子邮件有限制,这有助于防止违反该政策。
感谢您抽出宝贵时间对此主题发表任何评论;D
【问题讨论】:
-
我想我可以问一下,关于如何在浏览器上保持活动状态的递归 javascript 脚本的提示,它会长时间延迟调用自身?
-
如果您发布您正在谈论的那种代码的示例,那么人们可能会提供帮助。 “使递归函数超时”没有意义(至少对我而言)。
-
另外,当超时函数将自己设置为另一个超时时,它不是“递归”。我不熟悉任何拒绝遵守超时处理程序的浏览器(当然,除非调用页面消失)。
-
您好,感谢您的收看。假设:函数倒计时( Nr_of_seconds );函数 sendEmailToList( list_Of_Emails, nr_of_emails_per_count ) { 如果倒计时( 30 秒 ) 结束,则如果存在真正的电子邮件 -> sendEmails( nr_of_emails_per_count ) 从电子邮件列表中删除 (nr 每计数的电子邮件) Sendemailtolist };
-
之前的伪代码pastie.org/1026617
标签: javascript browser timeout mootools ping