Coder Social home page Coder Social logo

betterlife.timertask's Introduction

betterlife.timertask

实现目标

描述

一般开发网站都采用php,但是需要配合一些系统定时任务,php对多线程支持比较弱,因此配合php开发的web网站,开发了这个通用的定时工作任务器。

核心实现功能

  • 可定义定时时间:指定一个时间,周期等
  • 可访问多个数据库[现支持Mysql,Sqlserver]
  • 可发送邮件|短信|消息
  • 可部署在windows上作为服务service
  • 可部署在多个平台上,主流考虑部署在linux服务器上(UBuntu)
  • 方便快捷开发,命名|代码通俗易懂
  • 提供工具类自动生成实体类,减少重复工作量

启动运行类

  • Application.java : 主程序运行起点
  • tools/AutoCodeDomain.java : 生动生成实体数据对象工具类

框架规划

  • Spring + hibernate + quartz
  • 支持mysql,sqlserver
  • windows service
  • Linux service

部署

Mvn 打包

  • mvn -Dmaven.test.skip=true install
  • mvn package
  • 运行: target/./TimerTask-1.0.jar

定时任务环境部署

- 每次需在服务器上执行以下指令

```
>[本机] ssh [email protected] "[ -d /root/app/timertask ] && echo ok || mkdir -p /root/app/timertask"  [只需执行一次]
>[本机] scp ./Deploy/Linux/timertask.sh [email protected]:/root/app/timertask/   [只需执行一次]
>[本机] cd target && cp TimerTask-1.0.jar timertask.jar && scp ./timertask.jar [email protected]:/root/app/timertask/ && cd ../
>[本机] ssh -t [email protected] "cd /root/app/timertask/ ; bash"

>[服务器] service timertask restart
```

- 第一次需在服务器上执行以下指令

```
> cd /root/app/timertask/ && chmod 0755 timertask.jar
> cp timertask.sh /etc/init.d/timertask && chmod 0755 /etc/init.d/timertask
> update-rc.d timertask defaults
> service timertask start

```

- 查看log

	- 可通过修改文件:src/main/resources/logback-spring.xml 变量:SERVER_LOG_HOME 调整日志文件所在路径 

	```
	> tail -f -n 400 /var/log/timertask/logFile.%d{yyyy-MM-dd}.log
	```

安装为Systemd服务

- 在/etc/systemd/system目录下编辑配置文件: timertask.service
```
	[Unit]
	Description=timertask
	After=syslog.target

	[Service]
	User=timertask
	ExecStart=/root/app/TimerTask-1.0.jar
	SuccessExitStatus=143

	[Install]
	WantedBy=multi-user.target
```
- 安装Java环境: 
  - sudo apt-get update
  - sudo apt-get install openjdk-8-jdk 
  - java -version

- systemctl enable timertask.service

Eclipse 打包

  • Eclipse:Export->Runnable JAR file->Select[Library handling:Copy required libraries into generated JAR]->Click Finish

在Windows下运行服务

开发工具

注意事项

  • 连接SqlServer数据库,需要做以下准备工作
    • 1.安装Microsoft JDBC Driver 4.0 for SQL Server:

    • 2.开启 TCP/IP服务 *. 点击 开始 --> 所有程序 --> Microsoft SQL Server2005 --> 配置工具-->SQL Server configuration Manager-选择左边 SQL Server 2005 网络配置 -->双击 MSSQLSERVER 协议--> 选中 TCP/IP 右键 点击启用;

      *. 选择左边 SQLServer 2005 服务 --> 选择右边SQL Server(MSSQLSERVER) --> 右击选择重新启动 ; 等待 SQL 重启后即可

      • 注: 若启用TCP/ IP 网络协议后不重启服务器, SQL服务是不会生效的,
      • 特别注意: 若机器不是做服务器用的,不要乱开TCP/IP服务,特别是局域网,很易遭受攻击,没用时就禁用。
    • 3.运行maven工具: mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0

      • 说明:其中sqljdbc4.jar是安装Microsoft JDBC Driver 4.0 for SQL Server后的目录下的文件: C:\Java\sqljdbc_4.0\chs[我把其放置在C:\Java目录下]

betterlife.timertask's People

Contributors

skygreen2001 avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.