几种主流的分布式定时任务,你知道哪些?

几种主流的分布式定时任务,你知道哪些?,第1张

自从JDK15之后,提供了 ScheduledExecutorService 代替TimerTask来执行定时任务,提供了不错的可靠性。

Spring Framework 自带定时任务,提供了cron表达式来实现丰富定时任务配置。新手推荐使用 >

正常添加定时任务是在命令行使用命令 crontab -e
crontab -e编写完的文件怎么找到?
文件默认保存在/var/spool/cron/root

举例:查看编写好的定时任务
[root@k-user ~]# crontab -l

直接查看编写的定时任务的位置: /var/spool/cron/root

所以 :如果多台服务器添加同样的定时任务,(比如都需要同步时间)可以直接向文件中任务。
使用cat 面交互添加定时任务

验证结果:

--2鼠标右击SQL
Server
代理,选择启动(S),如已启动,可以省略此步骤;
--3展开SQL
Server
代理列表,右击作业--新建作业;
--31
在常规选项卡中:
--
输入作业名称,如My
Job;
--32
在步骤选项卡中:
--321
点击新建,输入步骤名称,如步骤1,类型默认T-SQL脚本,也可以选择SSIS包等;
--322
在数据库一栏选择要作业处理的数据库,在命令的右边空白编辑栏输入要执行的SQL代码,
EXEC
p_Name
--如:执行一个P_Name的存储过程
--
也可以点击命令下面的打开,打开sql脚本;
--323
输入运行脚本后,建议点击分析,确保脚本语法正确,然后点击下面的确定按钮;
--33
在计划选项卡中:
--331
点击新建,输入计划名称,如计划1,计划类型默认是重复执行,也可以选择执行一次等;
--332
在频率--执行处选择每天、每周或每月,以每天为例,间隔时间输入间隔几天执行一次,
--
下面还可以选择每天一次性执行或间隔一定的时间重复执行
--333
在持续时间中选择计划开始执行的起始日期和截止日期,然后点击确定按钮;
--注意要将服务设置为自动启动,否则在重启服务器后作业就不运行了。
--启动代理服务的方法:
--开始--运行--输入servicesmsc--找到SQL
Server
代理的服务并双击--启动类型选择自动--确定
--至此,定时作业已创建完毕。

Celery是一个强大的分布式任务队列,他可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行。通常用来实现异步任务和定时任务。异步任务比如发送邮件,文件上传图像处理等;定时任务就是需要在特定时间执行的任务。

a 创建Celery实例
b 启动Celery Worker,通过delay()或者apply_async()将任务发布到broker
c 应用程序调用异步任务
d 存储结果
Celery Beat: 任务调度器,Beat进程会读取配置文件的内容,周期性的将配置中到期需要执行的任务发送给任务队列

a 创建Celery实例
b 配置文件中配置任务,发送任务 celery -A xxx beat
c 启动Celery Worker celery -A xxx worker -l info -P eventlet
d 存储结果

如果大写的话,需要写成:

在celery_task同级目录下,执行命令:
celery -A celery_task beat

在celery_task同级目录下,执行命令:
celery -A celery_task worker -l info -P eventlet
可以看到输出:

如果同时在<b>两个虚拟环境(服务器)</b>中都执行定时任务,都可以看到有以上LOG打印。

发布任务
celery -A celery_task beat
执行任务
celery -A celery_task worker -l info -P eventlet
将以上两条合并
celery -B -A celery_task worker
后台启动celery worker进程
celery multi start work_1 -A appcelery
停止worker进程,如果无法停止,加上-A
celery multi stop WORKNAME
重启worker进程
celery multi restart WORKNAME
查看进程数
celery status -A celery_task

通过企业管理器设置数据库的定期自动备份计划。
1、打开企业管理器,双击打开你的服务器
2、然后点上面菜单中的工具-->选择数据库维护计划器
3、下一步选择要进行自动备份的数据-->下一步更新数据优化信息,这里一般不用做选择-->下一步检查数据完整性,也一般不选择
4、下一步指定数据库维护计划,默认的是1周备份一次,点击更改选择备份的日期及时间点确定,
5、下一步指定备份的磁盘目录,选择指定目录,然后选择删除早于多少天前的备份,选择一个星期删除一次备份,具体备份看你的要求,备份文件扩展名默认的是BAK
6、下一步指定事务日志备份计划,看你的需要做选择-->下一步要生成的报表,一般不做选择-->下一步维护计划历史记录,最好用默认的选项-->下一步完成
7、完成后系统很可能会提示Sql Server Agent服务未启动,先点确定完成计划设定,然后找到桌面最右边状态栏中的SQL图标,双击点开,在服务中选择Sql Server Agent,然后点击运行箭头,选上下方的当启动OS时自动启动服务
8、设置启动sql server Agent:
运行Servicesmsc,设置sqlserverAgent为自动启动。
启用SQLserver Agent是必要的,而且也可以通过它来添加作业或者SQL语句来执行备份。然后再通过相应的批处理来删除多余的备份,保留几天的备份。相关资料请另行查阅!

提供思路:

设置ssh密匙免密登陆

利用scp 传输文件

添加定时任务 crontab

希望可以帮助你  请采纳 谢谢


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13401586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存