【问题标题】:joomla scheduled task run every secondjoomla 计划任务每​​秒运行一次
【发布时间】:2017-06-02 09:16:52
【问题描述】:

如何在 Joomla 网站上设置每秒运行的计划任务?

我看到了不同的扩展程序,但它们只每分钟制作一次,例如最小阈值。 有什么想法吗?

【问题讨论】:

  • 嗨,您可能应该包含有关您想要实现的目标的信息。从 joomla 每秒运行一个任务是不可能的,而且可能不是你需要的。包含有关您的目标的信息,您会得到更好的答案。

标签: joomla scheduled-tasks cron-task


【解决方案1】:

如果您使用普通扩展程序执行此操作,则需要足够的流量来每秒触发任务。即便如此,这也是不可靠的。最好的方法是直接在您的 Web 服务器上使用 CRON 作业。此 CRON 作业可以调用您服务器上的 CLI 脚本或 URL。

https://en.wikipedia.org/wiki/Cron

这里有一些有用的页面来生成必要的任务条目:

https://crontab.guru/

http://crontab-generator.org/

如果你想每秒运行一次,你可能需要检查一下:

Running a cron every 30 seconds

有一些有趣的解决方案,比如使用 sleep 来增加 cron 时间分辨率。此外,其中一个答案中有一个小脚本也可能有所帮助。

【讨论】:

  • 好的,但是这个 cron 生成器不允许构建每秒运行的任务。不幸的是我需要它。
  • 嗯......我完成了我的回答。顺便说一句,你为什么需要这样做?
【解决方案2】:

使用 Joomla 扩展根本不可靠,因为必须有人访问实际网站才能运行(假)cron。所以,当它是一个 Joomla 扩展时,整个 cron 事情真的取决于你网站的流量,这使得它非常不可靠,特别是如果你正在开发一个关键任务功能。

您最好的选择是使用 Linux cron,它不能每秒运行一次,因为 cron 的最低运行时间是每分钟。任何需要使用sleepfor 循环的解决方案都不可靠——尤其是当您考虑到您希望每秒运行一些东西时。互联网上所有每秒(或不到一分钟)运行 cron 的解决方案都是半生不熟且完全不可靠的。简而言之,你不能可靠地每秒运行一个 cron。

一个想象的解决方案是拥有 60 台服务器,每台服务器落后于另一台服务器 1 秒,然后您每分钟从这些服务器中的每台运行 cron。重要的是所有这些服务器都在同一个网络上,以防止出现任何延迟。

【讨论】:

    猜你喜欢
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多