之前做定时器同步方法试过很多方法, 不过都有些问题

1)quartz + IIS 方式(web项目发布到IIS上,出现IIS应用池回收问题)

2)用线程Timer方式 (出现多个线程同步同个任务问题)

3)window计划任务+ api方法 方式

4)quartz+ window服务(暂不到怎么弄)

最后确定用第(3)种方式,解决了定时同步数据问题。

假如我们需要每隔5分钟定时同步数据,那么做一个api 同步方法映射到外部可调用,

然后用window计划任务做一个任务,定时调用批处理文件(文件包含调用api方法的语法)

我这边做一个每隔5分钟调用方法获取数据demo

1、api方法

         /// <summary>
/// 获取配送点列表(收货客户或送货客户)
/// </summary>
/// <param name="obj">传递数据</param>
/// <returns></returns>
[System.Web.Http.HttpPost]
public string GetDeliveryPointList([FromBody] JObject obj)
{
MobileResult result = myService.GetDeliveryPointList(obj);
return JsonConvert.SerializeObject(result);
}

注意:这个方法外部可通过ajax调用的到,如果是要同步数据,那边方法改成可同步数据方法

2、配置curl表达式

@echo off
curl --data "PAGE_NUM=1&ROW_NUM=5" http://14.23.113.2:9698/api/IPhoneApp/MobileApp/GetDeliveryPointList/1 | iconv -f utf-8 -t gbk >>D:\Sync\SyncFuns_log.txt
exit

注意:“PAGE_NUM=1&ROW_NUM=5”这个是方法的参数,“http://14.23.113.2:9698/api/IPhoneApp/MobileApp/GetDeliveryPointList/1”这个是请求路径,

  “| iconv -f utf-8 -t gbk” 这个是为了防止返回数据出现乱码问题,需安装libiconv.exe工具才支持,“>>D:\Sync\SyncFuns_log.txt”:保存调用日志信息

3、安装curl程序

下载地址:https://pan.baidu.com/s/13acW5HCatnhb1KPlzNSbYA, 解压压缩文件

将1(curl.exe)文件复制到C:\Windows\System32\目录下,将2(libiconv.exe)安装后,将安装路径添加到环境变量Path中 ,

C:\Program Files (x86)\GnuWin32\bin ,将上面curl表达式保存成批处理文件(SyncFuns.bat)

4、创建window计划任务

1)创建基本任务

1.1)常规(选中圈中的的内容)

1.2)触发器

新增触发器,选中重复任务间隔5分钟,持续时间为无限期

1.3)操作

新增任务,选中批处理文件(SyncFuns.bat)

1.4) 条件

电源记得去掉,如果电脑没插电源,计划任务不会触发

5、启用计划任务

查看运行结果

最新文章

  1. YAML 模板文件语法
  2. Python数据类型之列表
  3. html笔记 横向两列布局
  4. 【Android】数据库的简单应用——升级数据库
  5. 配置VSFTP服务器
  6. 域名变更后获取cookie
  7. 重新想象 Windows 8 Store Apps (10) - 控件之 ScrollViewer 特性: Chaining, Rail, Inertia, Snap, Zoom
  8. redis 学习笔记——数据同步、事务
  9. Linux学习笔记-epoll
  10. MySQL大表优化方案
  11. AI_神经网络监督学习
  12. 微信小程序底部弹窗动画
  13. 面向复杂应用,Node.js中的IoC容器 -- Rockerjs/core
  14. org.hibernate.ObjectNotFoundException: No row with the given identifier exists
  15. 服务器解析慢,可以安装nscd解决
  16. 不同生产商的CPU以及大端/小端对齐
  17. 【转】解决Android因加载多个大图引起的OutOfMemoryError,内存溢出的问题
  18. Hadoop学习之路(十二)分布式集群中HDFS系统的各种角色
  19. 20155319 2016-2017-2 《Java程序设计》第四周学习总结
  20. [您有新的未分配科技点]博弈论进阶:似乎不那么恐惧了…… (SJ定理,简单的基础模型)

热门文章

  1. Ubuntu 下 Python自由切换
  2. 如何连接oracle 12c可插拔数据库
  3. session常用操作
  4. git checkout -b 分支name 分支的新建, 切换, 删除, 查看
  5. Rxbus的使用
  6. P10.3 usestock0.cpp
  7. 全排列问题(c语言实现)
  8. 第 3 章 镜像 - 015 - 调试 Dockerfile
  9. 开发自己的R包(转)
  10. 常用标签(html+jstl+jsp)