定时任务

简介: 定时任务

前言



如标题所示,本文要讲的就是定时任务,定时任务在某些场景下是必不可少的存在。比如每天的某个时刻爬取一下特定的数据,或者后台定时地进行计算( 每天零点更新下统计数据啊,或者涉及到个人资产的计算下利息啊什么的 ),又或者定时备份下数据库,当然还有更多情景。


定时与延时



定时是一个绝对的概念,指的是一个特定的时间,比如 2017 年 05 月 30 日 22 : 33 : 09,或者每天早上 8 点,又或者每个月的 1 号到 15 号的 9 点 到 10 点钟这个时间段每隔 5 分钟的时间点。


延时是相对而言的,比如 setTimeout、setInterval、setImmediate 这些其实是在某个特定的事件执行完之后设定一个延时以执行下一个任务,并不是指定的现实中的具体的时间。


当然这里我自己区分了下,为的就是不要混淆了不同的使用场景。


cron



提到定时任务,不得不说说 cron ,百度百科上说的很清楚,Linux 系统的内置服务,定时执行工具。


定时格式 * * * * * :这五个星号具体的含义下图说的很清楚了。


这里之所以要提 cron ,主要是因为大量的实现定时任务的第三方库都形似与此( 注意是形似 ),其实就是这几个星号。


node-schedule



在 node 中实现定时任务的比较出名的有以下几个:later、agenda、node-cron、node-schedule ,当然我选取了 node-schedule 做进一步的实战说明。


node-schedule 定时格式:


眼熟吗,现在知道为什么我在前面提了 cron 吧。除了第一个秒是可选的之外,其余完全相同。


示例:

常见的都在图上了,也不多说了,基本能满足使用场景了。


结尾



又是一篇简单的小文章。


目录
相关文章
|
1月前
|
存储
为什么有的定时任务不显示
【5月更文挑战第15天】为什么有的定时任务不显示
57 3
|
1月前
|
Linux Shell 开发工具
什么是crontab定时任务?
定时任务在Linux系统中用的是比较多的,个人的话一般用的很少,在企业中定时任务是必不可少的,定时任务多种多样,有程序的定时任务,比如:写一个程序在程序内定时执行,或者是操作系统的定时任务,比如:Windows系统的定时任务、Linux系统的定时任务,他们的名称、操作方式都不相同,但是他们都有一个共同的特征,在**某个特定的时间或者时间段执行某项任务**,这类通常被我们称之为定时任务,再举个例子,我们手机的闹钟、或者街边的路灯,这些都是定时任务,闹钟会在早上7点发出音乐,路灯会在晚上6点开灯,这些都是生活中的定时任务,今天记录一下在Linux系统中如何使用定时任务
什么是crontab定时任务?
|
1月前
|
消息中间件 Java 中间件
定时任务的六种策略
这篇文章,我们聊聊实现定时任务的六种策略。
|
11月前
|
关系型数据库 MySQL 调度
定时任务优化
简单描述一下定时任务的优化
108 0
|
12月前
|
负载均衡 Java 数据挖掘
定时任务实现的几种方式
定时任务实现的几种方式
248 1
|
11月前
|
Java BI Spring
定时任务和异步任务
定时任务和异步任务
|
Java Spring
|
Java Spring
使用定时任务 随着项目启动定时执行
使用定时任务 随着项目启动定时执行
278 0
|
Unix Linux Shell
cron设置定时任务详解
cron设置定时任务详解