zoukankan      html  css  js  c++  java
  • C# 中web如何定时同步数据

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

    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:SyncSyncFuns_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:SyncSyncFuns_log.txt”:保存调用日志信息

    3、安装curl程序

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

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

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

    4、创建window计划任务

     1)创建基本任务

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

    1.2)触发器

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

    1.3)操作

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

    1.4) 条件

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

    5、启用计划任务

    查看运行结果

  • 相关阅读:
    BZOJ 4278: [ONTAK2015]Tasowanie 后缀数组 + 贪心 + 细节
    BZOJ 1692: [Usaco2007 Dec]队列变换 后缀数组 + 贪心
    luogu P2852 [USACO06DEC]牛奶模式Milk Patterns 后缀数组 + Height数组 + 二分答案 + 扫描
    BZOJ2251 [2010Beijing Wc]外星联络 后缀数组 + Height数组
    [NOI2015]软件包管理器 树链剖分 + 线段树
    BZOJ [POI2004]PRZ 状压DP + 二进制 + 骚操作
    GIL与异步回调
    Event事件
    进程池与线程池
    队列
  • 原文地址:https://www.cnblogs.com/xielong/p/9708469.html
Copyright © 2011-2022 走看看