首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使计时器在过期的记录上运行代码

使计时器在过期的记录上运行代码
EN

Stack Overflow用户
提问于 2011-08-24 17:24:09
回答 3查看 256关注 0票数 2

我正在开发一个web应用程序(PHP/MySQL),在这个应用程序中,我需要实现定时器(record idexpiration_date上过期),其中过期涉及更新记录的state,并根据需要执行任意代码。

我基本上需要一个BPMN计时器事件。

我考虑过的方案中,没有一个是令我兴奋的:

  • Cronjob调用应用程序中只查询和更新过期记录的函数。
  • 在代码中通常称为点的地方,以固定的间隔调用此函数。

在PHP应用程序中,这通常是如何做到的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-25 09:46:56

我也会选择cronjob选项。

不过,我的应用程序中也有逻辑,知道如何处理(或忽略)过期的记录。像cron这样的服务可能会中断,所以不用依赖它是很好的。

不幸的是,DBMS并没有给我们很大的灵活性,而且如果遇到这些“过期”记录之一,您将不想进行数据库维护。

最好通过查询、视图的使用或简单的应用程序逻辑来排除它们。

票数 2
EN

Stack Overflow用户

发布于 2011-08-25 10:59:04

以下是你没有考虑过的一种选择:

您可以使用MySQL事件调度器定期在数据库中运行存储的过期例程。

这种方法的一些优点是:

  • 平台无关,在UNIX和Windows上以相同的方式工作。
  • 设置起来很容易。无需向用户解释如何设置cron作业。您只需与数据库架构一起创建该事件。

缺点:

  • 默认情况下,在MySQL中未启用。需要将event_scheduler=on放入my.cnf或以其他方式启用它。
  • 如果我没有记错,需要MySQL 5.1或更高版本。

示例:

代码语言:javascript
运行
AI代码解释
复制
DROP EVENT IF EXISTS expire_event;
DELIMITER //
CREATE EVENT expire_event
ON SCHEDULE EVERY 1 MINUTE
DO BEGIN
    DELETE FROM data WHERE time < UNIX_TIMESTAMP(NOW() - INTERVAL 1 HOUR);
END //
DELIMITER ;

上面的代码将每分钟从数据表中删除任何行,这些数据表的UNIX时间戳超过1小时。

票数 3
EN

Stack Overflow用户

发布于 2011-08-24 17:43:16

我会选择cronjob选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7184144

复制
相关文章
使WordPress运行PHP代码的插件
众所周知,WordPress的侧边栏和文章不能够直接运行自定义的php代码,reizhi今天给各位介绍一个插件,它能改变这一现状。
reizhi
2022/09/26
7740
使WordPress运行PHP代码的插件
如何使iOS后台运行代码
最近在开发一个关于校园的项目,其中有这么一个需求:学生晚上8:00第一次打完卡后在当天夜晚11:00时需要再一次上传学生当前地理位置,判断是否还在宿舍(MMP防不胜防)。但是最后一次上传是不需要学生操作的,APP默默的执行。
用户6094182
2019/08/23
1.8K0
如何使iOS后台运行代码
使程序在Linux下后台运行
我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。所以使程序在后台跑有以下三个好处:
SingYi
2022/07/14
4.3K0
如何使程序在Linux后台运行
这样一来,test程序就在后台运行了。但是,这样处理还不够,因为这样做虽然程序是在后台运行了,但log依然不停的输出到当前终端。因此,要让终端彻底的清静,还应将log重定向到指定的文件:
阿凡亮
2020/04/14
8.9K0
iOS使后台可以运行代码 比如定时器
//后台运行定时器 -(void)applicationDidEnterBackground:(UIApplication *)application{ UIApplication* app = [UIApplication sharedApplication]; __block UIBackgroundTaskIdentifier bgTask; bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ dispatch_as
好派笔记
2021/10/29
4860
在linux运行Tensorflow代码所遇到的问题
1,OSError: Unable to open file (file locking disabled on this file system (use HDF5_USE_FILE_LOCKING environment variable to override), errno = 38, error message = 'Function not implemented')
Dean0731
2020/05/11
1.8K0
如何使python脚本运行在daemon
有一个很好的库可以完成这一功能,可惜因为文档少所以网上例子不太多 库名:python-daemon 可以通过Pip来安装 最简单的使用方式 import daemon with daemon.DaemonContext(): print "your code" 当然代码块中最好放一个长时间执行并写日志到某个路径的代码,方便观察代码的执行情况 简单但是缺乏必要的控制,比如 如果我们想保证无论多次执行程序都只保证系统内只有一个改程序的进程的话就需要pid文件来控制这时候可以使用这个库带的另一个类Da
py3study
2020/01/08
2.3K0
在pycharm中写代码_pycharm运行部分代码
在 PyCharm 中,你可以在「项目」中执行任意操作。因此,首先你需要创建一个项目。
全栈程序员站长
2022/09/27
1.4K0
在pycharm中写代码_pycharm运行部分代码
在WordPress 的文章或页面中运行PHP 代码
如果你在编辑器中输入PHP 代码,默认的话WordPress 不会为你执行这段代码的——只会文本方式输出。Tutsplus 上有一篇文章以插件的方式告知我们实现在WordPress 的文章或页面中运行PHP 代码的方法,下面介绍下。 原理小介绍 懂php 的都知道,PHP中载入其他PHP文件可以用include() 或者 require() 函数,因此为了实现在WordPress 的文章或页面中运行PHP 代码,我们可以将打算运行的代码写入一个额外的PHP 文件中,放在某个目录下,通过某种机制调用。英文原文
Jeff
2018/01/19
4.6K0
在WordPress 的文章或页面中运行PHP 代码
Starlight:帮助Python代码在Go中运行的工具
I’d like to announce starlight - https://github.com/starlight-go/starlight.
李海彬
2018/12/26
2.2K0
在Spring Boot启动时运行定制的代码
Spring Boot会自动为我们做很多配置,但迟早你需要做一些自定义工作。在本文中,您将学习如何挂钩应用程序引导程序生命周期并在Spring Boot启动时执行代码。
lyb-geek
2018/12/25
2.3K0
使你的 JavaScript 代码简单易读[每日前端夜话0x4C]
解决一个问题可以有很多方法,但是有些方法很复杂,甚至有些是荒谬的。在本文中,我想谈谈解决一个问题时的好方案和坏方案。
疯狂的技术宅
2019/04/23
6150
使网站兼容手机版本的代码
只需在头信息<head></head>下放入如下代码即可 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" /> <meta content="telephone=no" name="format-detection" /> <meta name="apple-mobile-web-app-capable
WindCoder
2018/09/20
3.7K0
在DragonOS中,使蜂鸣器发声
很简单,代码如下: void beep(uint64_t times) { io_out8(0x43, 182&0xff); io_out8(0x42, 2280&0xff); io_out8(0x42, (2280>>8)&0xff); uint32_t x = io_in8(0x61)&0xff; x |= 3; io_out8(0x61, x&0xff); times *= 10000; for(uint64_t i=0;i<times
灯珑LoGin
2022/10/31
4180
是什么使代码 “Swifty”? —— Safe
尽管编程语言是由其语法正式定义的,但实际上在实践中使用它们的方式还是可以由它们当前的约定来确定的。毕竟,就语法而言,大多数受“ C影响 ” 的语言看起来都非常相似,以至于您可以用几乎使它看起来像JavaScript,C#或C本身的方式编写Swift。
韦弦zhy
2020/03/20
8820
是什么使代码 “Swifty”? —— Safe
什么使DevOps中的代码审查良好?[DevOps]
改善软件开发生命周期,向客户交付软件的速度以及该软件的质量都是DevOps的重要前提。这些是DevOps运动规定的工具和技术试图达到的目标。作为开发人员,感到很自由,可以快速进行更改,不仅可以更改源代码,还可以更改基础结构和配置代码。作为DevOps的从业者,目标是在质量与安全性之间实现平衡。如何?可以使用的一种工具是代码审查。
yyx
2019/12/24
9760
什么使DevOps中的代码审查良好?[DevOps]
使你的C/C++代码支持Unicode
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
用户7886150
2021/02/17
8820
是什么使代码 “Swifty”? —— Expressive
Swift的官方网站上的About页面列出了三个关键字: 安全(Safe):为了最大限度地减少开发人员的错误; 迅速(Fast):执行的速度要快; 表现力(Expressive):因为Swift
韦弦zhy
2020/03/20
6520
是什么使代码 “Swifty”? —— Expressive
“这段代码,我在本地运行没问题啊?”
代码是运行互联网项目的核心。在快速迭代的互联网项目开发中,最常见的便是多人共同协作开发场景。将代码托管至云端并使用优秀的代码管理系统,对于开发人员是至关重要的。
小灰
2021/01/07
7900
“这段代码,我在本地运行没问题啊?”
点击加载更多

相似问题

如何使connect/express在特定目录上使用未过期的缓存?

21

过期后运行Javascript计时器

10

如何使NSIS RMDir在子目录上运行?

33

在多个子目录上运行代码

01

C#计时器-在计时器运行时运行代码

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文