美文网首页Android知识Android开发
Android开发搞Web-SpringBoot 添加定时器

Android开发搞Web-SpringBoot 添加定时器

作者: ssevening | 来源:发表于2017-10-17 20:23 被阅读0次

    背景

    智能时代,解放双手的时代,接上一篇,我们好不容易在阿里云上部署了一个Web应用,网站跑得很正常,但通常我们会产生以下需求:

    1. 数据索引建立,比如每一小时更新一次搜索的索引。比如你写的一篇文章,要第二天或第三天才会被百度搜索到,就是说百度每天会更新一次自己的搜索索引。
    2. 健康检查,定时检查某些服务是否可用,在不可用时,发短信提醒。
    3. 其他需要跑的定时任务。

    我们的要求

    1. 基于上述的说法,我们要在我们的应用中添加一个定时器,定时处理用户上传上来的文件,定时去检查一下百度网站是不是挂了。所以我们有了定时的需求。

    直接开撸

    启动MYSQL:docker run --name ssevening-mysql -p 12345:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

    如果没有创建数据库,那就登陆上去创建一把
    docker exec -it ssevening-mysql bash

    登陆MYSQL
    mysql -u root -p

    create database ssevening;

    然后下载已写好的仓库代码:

    git clone https://github.com/ssevening/SpringBootWithDocker.git

    运行代码截图如下:

    spring boot 定时器

    然后通过命令行,我们就可以看到我们已经在后台执行的定时任务了。

    定时任务

    然后我们再看代码,配一个定时任务需要哪些代码?

    1. 不需要增加任何依赖。
    2. 修改Application代码,增加@EnableScheduling // 开启定时执行任务功能
    增加定时任务功能
    1. 定时器代码截图如下:可以通过:cron格式生成器 来生成你想要的时间。比如通过短信或邮件的方式,每半小时提醒自己起来走动走动,虽然有点重,一个小小的Android闹钟就可以解决的问题。
    定时器代码

    撸好了代码,发布到仓库

    编译镜像
    ./gradlew build buildDocker

    编译镜像

    重命名和推送镜像到远程:
    docker tag 8eb2e8586d9a ssevening/gs-spring-boot-docker:v2.0.timer

    docker push ssevening/gs-spring-boot-docker:v2.0.timer

    推送到远程

    现在我的仓库中就有一个 timer的版本了。

    上库成功

    后期就可以通过:docker rmi -f 8eb2e8586d9a 删除我们本地的镜像,然后从远程拉下我们最新的镜像运行一把。

    Docker镜像下载 慢慢等下载成功吧

    下载成功,运行行一把
    docker run -p 80:8080 -t ssevening/gs-spring-boot-docker /bin/bash

    然后我们的应用就牛逼了,然后用户量就来了,然后要求24小时不间断服务了,就算新版本发布也不能停机器了,这可怎么办?下一篇文章想一想,做一做,试一试吧!

    相关文章

      网友评论

        本文标题:Android开发搞Web-SpringBoot 添加定时器

        本文链接:https://www.haomeiwen.com/subject/avxduxtx.html