JouyPub

  • 首页

  • 归档

  • 区块链

  • BigData

  • Linux

  • Git手册

  • MySQL

  • Nginx

  • 科学上网

  • 搜索

Spring Task中cron表达式详解

发表于 2017-12-21 | 分类于 日常开发 | 阅读次数:

1.cron表达式格式:

{秒} {分} {时} {日} {月} {周} {年(可选)}

2.cron各选项的取值范围及解释:
{秒}:取值范围(0-59),不允许为空值,若值不合法,调度器将抛出SchedulerException异常
{分}:取值范围(0-59),不允许为空值,若值不合法,调度器将抛出SchedulerException异常
{时}:取值范围(0-23),不允许为空值,若值不合法,调度器将抛出SchedulerException异常

1
2
3
4
"*" 代表每隔1分/秒/时触发;
"," 代表在指定的分/秒/时触发,比如"10,20,40"代表10分/秒/时、20分/秒/时和40分/秒/时时触发任务
"-" 代表在指定的范围内触发,比如"5-30"代表从5分/秒/时开始触发到30分/秒/时结束触 发,每隔1分/秒/时触发
"/" 代表触发步进(step),"/"前面的值代表初始值("*"等同"0"),后面的值代表偏移量,比如"0/25"或者"*/25"代表从0分/秒/时开始,每隔25分/秒/时触发1次,即0分/秒/时触发1次,第25分/秒/时触发1次,第50分/秒/时触发1次;"5/25"代表5分/秒/时触发1次,30分/秒/时触发1次,55分/秒/时触发1次;"10-45/20"代表在[10,45]内步进20分/秒/时命中的时间点触发,即10分/秒/时触发1次,30分/秒/时触发1次
阅读全文 »

SpringBoot中使用@Scheduled创建定时任务

发表于 2017-12-19 | 分类于 日常开发 | 阅读次数:

我们在编写SpringBoot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信、邮件之类的操作,也可能会定时地检查和监控一些标志、参数等。
那么我们就需要用到SpringBoot中的@Scheduled注解

  1. 在SpringBoot的主类中加入@EnableScheduling注解,启用定时任务的配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    @SpringBootApplication
    @EnableScheduling
    public class Application {

    public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
    }

    }
  2. 创建定时任务实现类

    1
    2
    3
    4
    5
    6
    7
    8
    9
    @Component
    public class ScheduledTasks {

    @Scheduled(fixedRate = 5000)
    public void reportCurrentTime() {
    System.out.println("现在时间:" + new Date());
    }

    }

运行程序,定时任务开始正常运作了…

阅读全文 »

Git Pull强制覆盖本地文件

发表于 2017-12-18 | 分类于 Git | 阅读次数:

在有些场景下为了避免代码冲突,需要强制使用远程代码覆盖本地代码,比如自动部署,GitHub的webhook

解决方法

1
2
3
4
5
> git fetch --all

> git reset --hard origin/master

> git pull

Git区分文件名大小写

发表于 2017-12-17 | 分类于 Git | 阅读次数:

Git默认不区分文件名大小写

例如:创建一个文件readme.md,写入内容,提交到线上仓库,然后修改本地文件名为Readme.md,提交,会发现没有变化,无任何提示信息

其实Git默认对于文件名大小写是不敏感的,所以上面你修改了首字母大写,但是Git并没有发现代码任何改动.

那么如何才能让Git识别文件名大小写变

1.配置 Git 使其对文件名大小写敏感

1
> git config core.ignorecase false

2.修改本地文件名为大写

1
> mv readme.md Readme.md

3.提交修改后的文件,如果未生效,请先删除线上仓库中的文件,重新提交

1
2
3
4
5
> git add Readme.md
> git commit -m 'Readme.md'
> git push origin master
# 如果提交后没变化,执行该命令,之后再执行上述命令,删除本地Git管理的文件,当成新文件提交
> git rm -r --cached readme.md

DSP广告系统架构

发表于 2017-07-23 | 阅读次数:

DSP的目标

  使用程序的方式进行广告的投放的管理,并利用算法和技术自动实现精准的目标受众定向,只把广告投放给对的人。
  对广告主而言,使用程序化购买不仅能提高流量采购效率,更低成本的或可靠,稳定的流量,还能使用各种策略,投放不同的目标人群,使得广告的投放效果更加可控。减少广告浪费的同时,提升转化率,扩大覆盖面积,最终实现跨终端的投放管理和效果追踪
  对媒体资源而言,使用程序化管理的方式,能实现资源的自动化售卖,提高流量的使用率,有效利用优质流量和长尾流量,并且能基于人群的属性、兴趣等标签,对不同流量给出不同售价,提升流量库存的收入。

阅读全文 »

Linux常用工具

发表于 2017-07-02 | 分类于 Linux | 阅读次数:

常用工具

  • tmux,分割窗口:用于同时观察系统多个参数指标,参考:http://blog.csdn.net/jianbinhe1012/article/details/7741727
  • ifstat,详细,能看到端口流量,但不够直观
  • nload,简单实用,能看进出口总的流量
  • nscd,DNS缓存,参考:http://jerry.hk/notes/deploy-centos-nscd
  • rsync,linux下的文件同步,http://www.cnblogs.com/itech/archive/2009/08/10/1542945.html
阅读全文 »

Git常用命令

发表于 2017-07-01 | 分类于 Git | 阅读次数:

Git初始化仓库

1
2
3
4
5
6
> echo '# project name' >> README.md
> git init
> git add README.md
> git commit -m "first commit"
> git remote add origin https://github.com/username/project-name.git
> git push -u origin master
阅读全文 »

MySQL日常命令

发表于 2017-07-01 | 分类于 MySQL | 阅读次数:

从文件中加载数据到数据库,类似hive的load data

1
2
3
load data infile '/tmp/t0.txt' ignore into table t0 character set gbk
fields terminated by ',' enclosed by '"'
lines terminated by '\n' (`name`,`age`,`description`);

Linux上安装MySQL时出现不兼容的解决办法 http://www.linuxidc.com/Linux/2012-06/62156.htm

阅读全文 »
1…282930
JouyPub

JouyPub

聊聊区块链、大数据

235 日志
14 分类
47 标签
RSS
友情链接
  • 工具箱
  • 子涵笑谈前端
  • 大数据玩家
© 2017 — 2021 JouyPub