找回密码
 立即注册

QQ登录

只需一步,快速开始

glacier_

中级会员

68

主题

192

帖子

912

积分

中级会员

积分
912

[已处理] 计划任务

glacier_
中级会员   /  发表于:2024-1-2 16:29  /   查看:1460  /  回复:9
10金币
查看了帮助手册但是还是对计划任务中 设置触发条件为“服务端命令执行后”,这个选项的用法不太理解,可否讲解一下

最佳答案

查看完整内容

这个延长过期时间后,自动就会是我们希望的逻辑呀,我举个例子哈; 我们有两个服务端命令: 一个触发条件是每两个小时触发一次,所做的事情就是将超过过期时间的数据删除掉,我们把它叫A; 另一个是服务端命令执行后出发,所做的事情是盐场某条数据的过期时间,我们把它叫B; 首先,我们在1:30给数据表添加了一条数据,那么默认他的过期时间是3.30;添加这条数据前最近一次执行A是在1:00,因此下面两次执行会是在3:00 ...

9 个回复

倒序浏览
最佳答案
最佳答案
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-1-2 16:29:44
来自 8#
glacier_ 发表于 2024-1-3 15:18
对,我的问题就是服务端命令更新了这个过期时间以后,怎么再触发定时,到了新的过期日期自动删除

这个延长过期时间后,自动就会是我们希望的逻辑呀,我举个例子哈;

我们有两个服务端命令:
一个触发条件是每两个小时触发一次,所做的事情就是将超过过期时间的数据删除掉,我们把它叫A;
另一个是服务端命令执行后出发,所做的事情是盐场某条数据的过期时间,我们把它叫B;

首先,我们在1:30给数据表添加了一条数据,那么默认他的过期时间是3.30;添加这条数据前最近一次执行A是在1:00,因此下面两次执行会是在3:00和5:00,显然,在5:00执行A时这条数据才会被删除;在5:00之前我们可能会执行某条服务端命令,从而触发B,此时将这条数据的过期时间延长了3个小时,也就变为了6:30,那么在5:00执行A时,明显现在还没到6:30,所以这条数据不会被删除,而是在7:00执行A时,才会被删除

这样的作法有一个缺点,就是删除国企数据时会有一定的时间误差,我们的A设置的时多长时间执行一次,最大的时间误差就是多少,因此我们将A的触发间隔调整到我们能接受的误差范围即可;而且在redis中,也会存在这种机制,并不是说到了过期时间就俩猫会被删除。
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-1-2 18:49:01
2#
大佬可以讲一下目前的疑惑是什么,或者是大佬在使用时遇到什么问题了吗,也方便大家一起交流讨论哦~~
回复 使用道具 举报
glacier_
中级会员   /  发表于:2024-1-3 10:45:08
3#
Nathan.guo 发表于 2024-1-2 18:49
大佬可以讲一下目前的疑惑是什么,或者是大佬在使用时遇到什么问题了吗,也方便大家一起交流讨论哦~~

想用活字格取代redis的数据超时时间,不知道这个功能是不是
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-1-3 14:38:09
4#
glacier_ 发表于 2024-1-3 10:45
想用活字格取代redis的数据超时时间,不知道这个功能是不是

大佬意思是,想要在活字格中实现,先在数据库某张表中添加一条数据,在添加之后的两小时(举例)这个时间节点执行一些对应的逻辑(例如想redis超时一样删除这条数据)是吗?
如果是这样的话,大佬可以考虑使用一个定期执行的计划任务,例如每两个小时执行一次,检测表中未处理的数据,并处理~~
回复 使用道具 举报
glacier_
中级会员   /  发表于:2024-1-3 14:48:21
5#
Nathan.guo 发表于 2024-1-3 14:38
大佬意思是,想要在活字格中实现,先在数据库某张表中添加一条数据,在添加之后的两小时(举例)这个时间 ...

可我希望是用户能够续期,请求执行完某个服务端命令后,能够续期这个删除时间,而不是固定到某个时间就删
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-1-3 15:03:14
6#
这样的话,大佬可以给这样数据表手动维护一个过期时间,在执行了对应的服务端命令后(无论是使用计划任务触发条件选择服务端命令执行后,还是世界给服务端命令加一段逻辑),咱们再去更新这个过期时间就行;
那么再判断是否需要删除某条数据时吗,也只需要判断这条数据的国企时间是否到了
回复 使用道具 举报
glacier_
中级会员   /  发表于:2024-1-3 15:18:04
7#
Nathan.guo 发表于 2024-1-3 15:03
这样的话,大佬可以给这样数据表手动维护一个过期时间,在执行了对应的服务端命令后(无论是使用计划任务触 ...

对,我的问题就是服务端命令更新了这个过期时间以后,怎么再触发定时,到了新的过期日期自动删除
回复 使用道具 举报
glacier_
中级会员   /  发表于:2024-1-3 17:07:44
9#
Nathan.guo 发表于 2024-1-3 16:22
这个延长过期时间后,自动就会是我们希望的逻辑呀,我举个例子哈;

我们有两个服务端命令:

这个时间误差好大额,隔2小时检查一遍要不要删除,比如13点删除,说极端点我11:01续期了,应该是13:01删除,但是系统会在15点才删除,差了快两个小时了.....只有这个办法吗?实在不行可能也只能这样了
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-1-3 17:34:17
10#
glacier_ 发表于 2024-1-3 17:07
这个时间误差好大额,隔2小时检查一遍要不要删除,比如13点删除,说极端点我11:01续期了,应该是13:01删 ...

就像我说的,误差时间是可以调整的,我们吧计划任务A设置为没半个小时触发一次,那误差最多就只有半个小时,设置为10分钟触发一次,那么误差最多就只有十分钟
不过同理,时间间隔设置的越短,对于咱们服务器字段的开销就越大,咱们可以综合衡量下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部