0

在我的扩展(一个插件)中,我希望每隔一段时间运行一些 SQL 脚本(一些数据库清理操作);一天一次或一周一次可能就足够了。不需要完全在那个时间间隔内,如果有人访问该站点就可以触发它。

在理想情况下,这些可能由 cron 脚本运行,但并不是每个使用我的扩展程序的人都可以访问他们服务器上的 crontab,因此该解决方案需要在没有 cronjobs 的情况下工作。

搜索“joomla cronjob”及其组合我还没有发现 Joomla 框架中已经存在的任何东西(只是额外的扩展,比如JPrc Cronjobs;但它需要已经存在于框架中或包含在我的扩展中)。

考虑自己实现它(因为无论如何我的插件已经在每个站点调用上运行),想到的直接解决方案是在执行操作时存储时间戳,然后在下一次操作运行时检查是否已经过去了适当的时间间隔。

但是,我将在哪里存储时间戳?一个单独的表似乎完全是多余的(尽管它可能是最干净的解决方案)。Joomla 扩展是否有一些简单的键值存储?我也没有看到这样的东西。

所以,我的问题归结为:

  • Joomla 框架中是否有一个功能(在 Joomla >= 2.5 上工作)每隔一段时间就会触发一些代码?
  • 或者,是否有一个地方可以快速简单地存储单个键值对?
4

1 回答 1

1

由于您的代码在每个页面调用上运行,因此您的第二个解决方案将更容易实现。您可以利用内置的扩展参数来存储特定于扩展的值。

首先,看看这里: https ://stackoverflow.com/a/13221472/1867759

该解决方案非常适合您。唯一的区别是,由于您已经在插件中,您可以通过访问参数$this->params而不是从JComponentHelper.

希望这可以帮助!

于 2013-12-31T22:42:09.223 回答