java版spring cloud+spring boot+redis多租户社交电子商务平台(十八)定时任务(Scheduling Tasks)...

电子商务社交平台源码请加企鹅求求:一零三八七七四六二六。这篇文章将介绍怎么通过spring去做调度任务。

构建工程

创建一个Springboot工程,在它的程序入口加上@EnableScheduling,开启调度任务。

@SpringBootApplication
@EnableScheduling
public class SpringbootSchedulingTasksApplication {
 
    public static void main(String[] args) {
        SpringApplication.run(SpringbootSchedulingTasksApplication.class, args);
    }
}复制代码

创建定时任务

创建一个定时任务,每过5s在控制台打印当前时间。

@Component
public class ScheduledTasks {
 
    private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
 
    private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
 
    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
        log.info("The time is now {}", dateFormat.format(new Date()));
    }
}复制代码

通过在方法上加@Scheduled注解,表明该方法是一个调度任务。

  • @Scheduled(fixedRate = 5000) :上一次开始执行时间点之后5秒再执行
  • @Scheduled(fixedDelay = 5000) :上一次执行完毕时间点之后5秒再执行
  • @Scheduled(initialDelay=1000, fixedRate=5000) :第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次
  • @Scheduled(cron=” /5 “) :通过cron表达式定义规则,什么是cro表达式,自行搜索引擎。

测试

启动springboot工程,控制台没过5s就打印出了当前的时间。

2017-04-29 17:39:37.672 INFO 677 — [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:37
2017-04-29 17:39:42.671 INFO 677 — [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:42
2017-04-29 17:39:47.672 INFO 677 — [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:47
2017-04-29 17:39:52.675 INFO 677 — [pool-1-thread-1] com.forezp.task.ScheduledTasks : The time is now 17:39:52复制代码
需要JAVASpring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六 


转载于:https://juejin.im/post/5cf7954fe51d4556da53d072

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache DolphinScheduler(incubator,原EasyScheduler)是一个大数据分布式工作流任务调度系统,主要解决大数据研发过程中ETL处理错综复杂的依赖关系,而不能直观监控任务健康状态等问题。DolphinScheduler以DAG流式的方式将Task组装起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及Kill任务等操作。 设计特点:一个分布式易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。 其主要目标如下: 1、以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态 2、支持丰富的任务类型:Shell、MR、Spark、SQL(mysql、postgresql、hive、sparksql),Python,Sub_Process、Procedure等 3、支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill任务等操作 4、支持工作流优先级、任务优先级及任务的故障转移及任务超时告警/失败 5、支持工作流全局参数及节点自定义参数设置 6、支持资源文件的在线上传/下载,管理等,支持在线文件创建、编辑 7、支持任务日志在线查看及滚动、在线下载日志等 8、实现集群HA,通过Zookeeper实现Master集群和Worker集群去中心化 9、支持对Master/Worker cpu load,memory,cpu在线查看 10、支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计 11、支持补数 12、支持多租户 13、支持国际化 14、还有更多等待伙伴们探索
Node.js是一种非常流行的服务器端开发语言,它允许我们构建高性能、可扩展的应用程序。在许多应用程序中,我们需要实现多租户的权限设计,以确保每个租户只能访问他们自己的数据和资源。 多租户权限设计的主要目标是在一个应用程序中为多个租户提供安全、独立的环境。 在Node.js中,可以使用以下方法来实现多租户权限设计: 1. 身份验证和授权:首先,需要根据每个租户的身份进行身份验证。可以使用常见的身份验证策略,例如用户名/密码、令牌验证等。一旦租户被验证,就需要为他们分配相应的权限和角色,以控制他们能够访问的资源和操作。 2. 数据隔离:多租户环境中的一个重要考虑因素是数据隔离。每个租户应该只能访问和修改与他们相关的数据。可以通过在数据库中使用不同的租户标识符来实现数据隔离,例如将租户ID添加到每个表中的记录中。 3. 路由和中间件:在Node.js中,可以使用路由和中间件来实现多租户权限。可以根据租户的身份和角色,在路由中进行条件分支,并根据需要执行相应的操作。中间件可以用于验证和授权请求,以确保只有具有适当权限的租户可以访问特定的资源。 4. 错误处理:在多租户环境中,错误处理也是重要的一部分。当租户尝试访问他们没有权限的资源时,必须提供适当的错误提示,并拒绝访问请求。 通过以上方法,我们可以在Node.js中实现多租户的权限设计,以确保每个租户的数据和资源的安全性和独立性。这对于构建安全、可扩展的应用程序非常重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值