除了cron之外还有其他方式定期执行SQL代码吗?
基本上我想每 X 天截断一个表,但我不想使用 cron。我希望在 php 文件内有一种内置脚本来执行此操作,也许 sql 触发器可以帮助我。不幸的是我不知道如何使用它们。
Basically I want to truncate a table every X days but I don't want to use cron. I would like to have a kind of built in script inside the php file to do this and maybe sql triggers can help me out. Unfortunately I don't know how to use them.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以构建一些东西来检查上次清空时的每个页面访问。如果最后一次的时间比你想要的要长,你就清空它。它的效率不是很高,但如果你不能或不想使用 crons,这是一种可能性。
You can build something that checks on each page visit when it was last emptied. If the last time was longer than you want, you empty it. It is not very efficient, but if you can't or don't want to use crons, this is a possibility.
根据 MySQL 的版本,您可能有权访问 CREATE EVENT< /a> 允许 MySQL 在预定时间触发自己的进程。
例如
,每天运行一个任务
其他数据库可能有等效项,尽管您不知道正在使用的数据库。
Depending on the version of MySQL, you might have access to CREATE EVENT which allows MySQL to trigger its own processes at scheduled times.
e.g.
To run a task each day
Other databases may have equivalents, though you don't identify the database that you're using.
在我的网站上,我有自己的“cron”系统。我在页面加载后立即向我的 cron 脚本发出 ajax 请求。它根据数据库中存储的最后一个 cron 日期检查当前日期,如果 [当前日期 - 最后一个 cron 日期] 大于给定的间隔,则执行我的 cron 脚本并更新最后一个 cron 日期。我用 ajax 完成了它,所以我可以进行相当繁重的 cron 作业,并且不会影响用户页面加载。而且这个 cron 仅在用户访问您的页面时才执行,并且在许多情况下,如果用户没有访问您的页面,您不需要执行 cron。
On my sites, i have my own "cron" system. I make ajax request to my cron script right after the page has loaded. It checks current date against last cron date stored in database and if [current date - last cron date] is bigger than intercal given, excecute my cron script and update last cron date. I did it with ajax, so i can make quite heavy cron jobs and not affecting user page load. And also this cron excecutes only if users visit your pages and in many cases you do do not need to excecute cron if usesrs aren't visiting you page.