我正在开发网站,我需要在特定时间执行一个代码。
编写Cron Job或使用JavaScript Timing Event是更快更好的选择 或类似的东西或JavaScript
答案 0 :(得分:4)
你问一个关于两件完全不同的事情的问题。
Cron作业基于服务器,JavaScript(除非您使用的是NodeJS)是基于客户端的。取决于这是否是一项任务:
分别选择Cron(1)或JavaScript(2)。
这真的像是苹果和橘子之间的比较。除非您告诉我们您是否需要橙汁或苹果派,否则我们将无法为您提供更多帮助。请记住,Cron是为了更可靠的服务器端任务执行,而JavaScript超时是按用户(或者更确切地说是每个客户端),执行不太可靠。
答案 1 :(得分:2)
这完全取决于您需要在特定时间执行的代码的性质。
如果它必须每天下午2点或其他任何事情发生,无论是否有人在看网站,那么你应该使用cron工作。
另一方面,如果它需要在某个时间执行每个用户(即,在一段空闲时间之后自动将用户登出页面),然后适当的调用是Javascript计时功能。
Javascript计时功能仅在某人实际查看该页面时才有效,然后为多个用户多次调用,根据您的具体情况,这可能是也可能不是。
当然,您可能在服务器上运行Node.js,在这种情况下,您可以使用Javascript计时功能,就像它们是一个cron作业一样。
答案 2 :(得分:1)
简而言之,请使用cron
在你对另一个答案的评论中,你说:
我想每周执行一次php函数
在这种情况下,你有一个主要选项(假设你正在使用* nix),那就是cron(我不知道Windows的替代方案是什么)。 Cron是专为此功能而设计的,无论您是否选择使用它,它最有可能在您的服务器上运行(对于其他系统功能),因此速度不是问题。
不要使用Node.js
Node.js是PHP的替代服务器端技术。您将使用它的服务器端而不是的PHP。如果你已经在使用PHP,那就算了吧。提到Node.js的唯一原因是因为你问过JavaScript。
此外,对于每周计时事件,JavaScript计时器不是一个好主意。 setTimeout()函数以毫秒为单位工作,适合在几秒钟和几分钟(可能是几小时)内工作,但不能在几周内工作。
如果你要使用服务器端JavaScript(如Node.js),你可能需要做类似于下面的PHP替代方案。
PHP替代
当然,根据你的托管环境(特别是便宜的环境),cron可能无法使用。在这种情况下,你必须提出一个不同的策略,你可能最好使用PHP。我之前见过的东西沿着这些方向发展:
优点:
缺点:
答案 3 :(得分:0)
要运行javascript计时事件,您需要打开网页。这意味着您必须公开公开该页面。你不想那样做。 Cron的工作既简单又有效。我喜欢他们。你应该这样做。