param

任务调度Quartz.Net之Windows Service

泄露秘密 提交于 2019-12-01 04:25:01
  这个应该是关于Quartz.Net使用的最后一篇文章了,之前的介绍都是基于Web的,这种实现任务调度的方式很少见,因为不管是MVC、WebApi还是WebService,它们都需要寄宿在IIS上运行,然而我们知道IIS是会定时回收进程池的,在一段时间内如果该站点没有收到任何请求,其就会进行回收,等到下次请求再自动启动。这样如果我们的任务需要在某个固定时间点执行就无法保障了。   因此,采用Windows Service来实现定时任务是更加合适的,它是由操作系统进行调度的,我们可以设置将服务设置为自启动,它将随着操作系统的启动而运行该进程。   新建一个Windows Service项目,其会为我们创建一个主入口 static class Program { /// <summary> /// 应用程序的主入口点。 /// </summary> static void Main() { try { ServiceBase[] ServicesToRun; ServicesToRun = new ServiceBase[] { new Service1() }; ServiceBase.Run(ServicesToRun); } catch (Exception ex) { Console.WriteLine(ex.Message); throw; } } }  

从零开始搭建自己的网站十七:Springboot配置redis

☆樱花仙子☆ 提交于 2019-12-01 01:34:31
在前面那篇介绍点击量的文章中提到过,我们需要用redis来记录点击量,这样就不需要每次在点击文章之后,对数据库进行一次修改,修改redis中的缓存数据就可以,然后定时把redis中的数据写入数据库。 下面就让我们来配置添加redis配置及redis工具类。 1、添加Gradle依赖 compile('org.springframework.boot:spring-boot-starter-redis') 2、添加yaml配置文件 jedis : host : 127.0.0.1 port : 6379 maxTotal: 100 maxIdle: 10 maxWaitMillis : 100000 3、配置和工具类代码部分 1)properties配置成bean @ConfigurationProperties(prefix = JedisProperties.JEDIS_PREFIX) public class JedisProperties { static final String JEDIS_PREFIX = "jedis"; private String host; private int port; private int maxTotal; private int maxIdle; private int maxWaitMillis; public String

任务调度之Quartz.Net基础

[亡魂溺海] 提交于 2019-12-01 00:01:21
  最近公司要求将之前的系统设计文档补上,于是大家就都被分配了不同的任务,紧锣密鼓的写起了文档来。发现之前项目中使用了Quartz.Net来做一些定时任务的调度,比如定时的删除未支付的订单,定时检查支付状态是否回调成功等业务。现在看起来对代码居然有点陌生了,于是决定写篇博文来记录下Quartz.Net 的基本使用。   这里以Quartz.Net 3.0+为例,Quartz.Net中最核心三大对象分别为: IScheduler: 单元/实例,通过这里完成定时任务的配置,只有单元启动后里面的作业才能正常运行 IJob:定时执行的作业就是Job ITrigger:定时策略   我们先来看一下最简单的使用吧,以下代码创建一个Scheduler并启动之。 StdSchedulerFactory factory = new StdSchedulerFactory(); IScheduler scheduler = await factory.GetScheduler(); await scheduler.Start();   然后我们创建一个继承自IJob的TestJob类,其主要实现IJob的Execute方法,该方法则为当该任务被调度执行的时候所执行的方法。 public class TestJob : IJob { public TestJob() { Console

Passing an urlencoded URL as parameter to a controller / action at CakePHP

自作多情 提交于 2019-11-30 22:56:32
I'm fairly new on CakePHP and because of so, there are some basic things that I used to do with Zend Framework that I'm beaten up with Cake. I'm working on a project where I have to pass a named parameter to a controller / action. Setting up the route and passing the parameter is fairly simple, my problem is when the parameter is a urlencoded url. For example: http://www.cakephp.com/controller/action/http%3A%2F%2Fwww.google.com regardless of the controller and action setup, will throw a 404, but passing /controller/action/http://www.google.com work in some way, the only problem is that it

jasperreoport

放肆的年华 提交于 2019-11-30 22:33:16
jasperreoport [jaspersoft studio](https://pan.baidu.com/s/1rB25QbZsD2HAMfhsmaXELA 提取码:nl5o 它是什么 jasperreoport是一个java 开源的报表引擎,用于做各种统计报表。 业务场景 需要进行报表统计功能,并有xml,excle,pdf等格式要求的业务场景都适用。 如何使用 根据业务需要设计报表模板文件 这里使用的是jaspersoft studio 这个工具设计,设计好后,保存即可生成需要的.jasper文件 pom.xml引入 jasperreoprt 相关的依赖 <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports</artifactId> <version>6.3.0</version> </dependency> <dependency> <groupId>net.sf.jasperreports</groupId> <artifactId>jasperreports-fonts</artifactId> <version>6.0.0</version> </dependency> <dependency> <groupId>org.codehaus.groovy<

【小技巧】object上显示div

扶醉桌前 提交于 2019-11-30 21:45:43
这个现在不大常用了,就是object在页面中显示的优先级最高,其他层想覆盖在其上面,设置的z-index再高都不管用,解决办法是在层中加一个iframe。不多说了,直接记录下代码吧,估计以后用到的机率也比较低。 页面中有一个object视频,然后需要一个div显示在视频上方, <object class="obj" type="video/x-ms-asf" url="3d.wmv" data="3d.wmv" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"> <param name="url" value="3d.wmv"> <param name="filename" value="3d.wmv"> <param name="autostart" value="1"> <param name="uiMode" value="full" /> <param name="autosize" value="1"> <param name="playcount" value="1"> <embed type="application/x-mplayer2" src="3d.wmv" width="100%" height="100%" autostart="true" showcontrols="true"

Ajax之serialize和serializeArray方法

淺唱寂寞╮ 提交于 2019-11-30 21:00:07
Serialize 主要用于在提交表单数据时,序列表表格内容为字符串. $("#form1").serialize() Param 是serialize方法的核心,用来对一个数组或对象按照kkey/value进行序列化 $.param(obj); 栗子: <form action="#" id="form1"> name:<input type="text" id="username" name="username"><br> age:<input type="text" id="userage" name="userage"><br> <input id="send" type="button" value="提交"> </form> <script type="text/javascript"> $("#send").click(function(){ var abc={a:1,b:2}; var d=$.param(abc); alert(d);//弹出 a=1&b=2 //这段话作用和下面一种方式是一样的 $.get("../AjaxServletDemo",$("#form1").serialize(),callback); //$.get("../AjaxServletDemo",{username:$("#username").val(),userage:$("

极验滑动验证码

风流意气都作罢 提交于 2019-11-30 19:54:51
import timefrom io import BytesIOfrom PIL import Imagefrom selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECEMAIL = '小白kill'PASSWORD = ''BORDER = 6class CrackGeetest(): def __init__(self): self.url = 'https://account.cnblogs.com/signin' options = webdriver.ChromeOptions() options.add_experimental_option('excludeSwitches', ['enable-automation']) self.browser = webdriver.Chrome(options=options) self.wait =

获得文件列表,文件移动

陌路散爱 提交于 2019-11-30 19:03:16
1 package file; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.util.ArrayList; 8 import java.util.List; 9 10 import org.apache.commons.lang3.StringUtils; 11 12 public class fileListAndMove { 13 14 public static void main(String[] args) { 15 String strPath = "D:\\文件\\手机app"; 16 String newPath = "D:/等等"; 17 List<File> filelist = new ArrayList<>(); 18 for (File f : getFileList(strPath, filelist)) { 19 System.out.println(f); 20 removeFile(f, strPath, newPath); 21 } 22 } 23 24 /** 25 * 获得文件列表 26 * @param

微服务架构四大金刚利器

旧城冷巷雨未停 提交于 2019-11-30 18:48:36
概述 互联网应用发展到今天,从单体应用架构到SOA以及今天的微服务,随着微服务化的不断升级进化,服务和服务之间的稳定性变得越来越重要,分布式系统之所以复杂,主要原因是分布式系统需要考虑到网络的延时和不可靠,微服务很重要的一个特质就是需要保证服务幂等,保证幂等性很重要的前提需要分布式锁控制并发,同时缓存、降级和限流是保护微服务系统运行稳定性的三大利器。 随着业务不断的发展,按业务域的划分子系统越来越多,每个业务系统都需要缓存、限流、分布式锁、幂等工具组件,distributed-tools组件(暂未开源)正式包含了上述分布式系统所需要的基础功能组件。 distributed-tools组件基于tair、redis分别提供了2个springboot starter,使用起来非常简单。 以使用缓存使用redis为例,application.properties添加如下配置 redis.extend.hostName=127.0.0.1 redis.extend.port=6379 redis.extend.password=pwdcode redis.extend.timeout=10000 redis.idempotent.enabled=true 接下来的篇幅,重点会介绍一下缓存、限流、分布式锁、幂等的使用方式。 缓存 缓存的使用可以说无处不在,从应用请求的访问路径来看,用户user