在我的扩展(一个插件)中,我希望每隔一段时间运行一些 SQL 脚本(一些数据库清理操作);一天一次或一周一次可能就足够了。不需要完全在那个时间间隔内,如果有人访问该站点就可以触发它。
在理想情况下,这些可能由 cron 脚本运行,但并不是每个使用我的扩展程序的人都可以访问他们服务器上的 crontab,因此该解决方案需要在没有 cronjobs 的情况下工作。
搜索“joomla cronjob”及其组合我还没有发现 Joomla 框架中已经存在的任何东西(只是额外的扩展,比如JPrc Cronjobs;但它需要已经存在于框架中或包含在我的扩展中)。
考虑自己实现它(因为无论如何我的插件已经在每个站点调用上运行),想到的直接解决方案是在执行操作时存储时间戳,然后在下一次操作运行时检查是否已经过去了适当的时间间隔。
但是,我将在哪里存储时间戳?一个单独的表似乎完全是多余的(尽管它可能是最干净的解决方案)。Joomla 扩展是否有一些简单的键值存储?我也没有看到这样的东西。
所以,我的问题归结为:
- Joomla 框架中是否有一个功能(在 Joomla >= 2.5 上工作)每隔一段时间就会触发一些代码?
- 或者,是否有一个地方可以快速简单地存储单个键值对?