常见的方法有三种:

  1. windows 任务计划程序
  2. windows service
  3. sql agent 的 job

这三种方法大多数人都用过,我在这里只做一个比较简单的介绍和小结,后续,我会用工业路由器一个轻量型的.net windows service jobs的作为例子介绍如何定制windows service以及如何让windows service 自动定时执行任务。

    首先,我们来看:使用 windows 任务计划程序 如何创建自动定时执行任务

界面方式: 计算机(右键)->管理 ,然后就可以打开 “计算机管理”界面,工业路由器在界面的左侧有一个 系统工具->任务计划程序 ,在此我们可以创建定时执行的计划任务,并且可以为每个任务添加触发器和具体的操作。

工业路由器

;

工业路由器

工业路由器

具体的使用方法应该很简单,这里就不再一一介绍。

cmd 命令行方式: 主要命令是 schtasks (另外还有 at命令,工业路由器该命令用来调用或者执行已经存在于task schedule列表中的task). 命令行形式可以用于制作安装和部署包。如果用界面方式的话,安装和部署都不太方便。

schtasks /?:  查看 schtasks命令,

 

schtasks /parameter [arguments]

描述:
允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任
务。

参数列表:
/create         创建新计划任务。

/delete         删除计划任务。

/query          显示所有计划任务。

/change         更改计划任务属性。

/run            按需运行计划任务。

/end            中止当前正在运行的计划任务。

/showsid        显示与计划的任务名称相应的安全标识符。

/?              显示此帮助消息

windows 任务计划程序需要:具体的任务执行程序(exe,批处理);而通过设置,工业路由器让windows来控制具体的执行的具体时间,重复度,触发条件,等。我们可以控制的是 具体的任务执行程序。 当然如果我们将什么时候定时执行任务,以及如何重复执行,触发条件等都写在程序里,也未尝不可,但是这样的话,就抹杀了windows任务计划程序的特有功能了!!

接下来,我们来看一下,windows service 如何解决自动定时执行任务。

    利用windows service 解决自动定时执行任务的方案是,制作一个windows service程序,在service内部部署好具体的任务程序,以及控制任务什么时候执行,如何重复,等等。他的可控性和自定义空间相比任务计划程序大,但是自己的工作量相对而言就大一些。

有关如何制作windows service程序,我在下篇文章中会介绍,工业路由器这里只介绍如何部署和卸载。

部署windows service只能通过命令行形式来部署。但是具体的命令有两种: installutil 和 sc

(也可以在windows service的program启动点中添加自定义的installer和启动参数来实现不用installutil和sc来安装和卸载,最后还是要通过命令行形式输入运行参数来安装,这个我会在后续的文章中详解如何在windows service中添加启动参数和自定义installer)

installutil.exe是.netframework自带的工具,一般他的路径在 c:\windows\microsoft.net\framework\version\ 下。

使用方法: installutil [/uninstall][option […]]assemblyname

其中 assemblyname 必须使用程序集的版本、区域性和公钥标记完全限定程序集名称

详情请见installutil.exe (msdn)

sc 是系统自带的命令,不需要.net framework(当然如果希望运行c#程序,.net framework是必须的,工业路由器所以一般情况下我们都可以用installutil命令来部署和卸载)。我以前做开发service时碰到的一个问题是,当我用installutil部署好一个service,但由于程序更新,需要卸载后重新部署,这个时候,就出现用installuitl /u 无法卸载的情况,具体的原因还不太明白,但是msdn上说明了 installutil 安装的时候是启用事务的,但是卸载的时候不启用事务,会不会是这个原因呢?? 但是,这中情况下,我却可以用 sc delete 命令来卸载。

有关sc命令的使用方法,sc /?:

 

描述:
sc 是用于与服务控制管理器和服务进行通信的命令工业路由器行程序。
用法:
sc [command] [service name]

选项 的格式为 “\\servername”

键入 “sc [command]” 可以获得有关命令的进一步帮助
命令:
query———–查询服务的状态,
或枚举服务类型的状态。
queryex———查询服务的扩展状态,
或枚举服务类型的状态。
start———–启动服务。
pause———–向服务发送 pause 控制请求。
interrogate—–向服务发送 interrogate 控制请求。
continue——–向服务发送 continue 控制请求。
stop————向服务发送 stop 请求。
config———-更改服务的配置(永久)。
description—–更改服务的描述。
failure———更改服务失败时执行的操作。
failureflag—–更改服务的失败操作标志。
sidtype———更改服务的服务 sid 类型。
privs———–更改服务的所需权限。
qc————–查询服务的配置信息。
qdescription—-查询服务的描述。
qfailure——–查询失败时服务执行的操作。
qfailureflag—-查询服务的失败操作标志。
qsidtype——–查询服务的服务 sid 类型。
qprivs———-查询服务的所需权限。
qtriggerinfo—-查询服务的触发器参数。
qpreferrednode–查询首选的服务 numa 节点。
delete———-(从注册表)删除服务。
create———-创建服务(将其添加到注册表)。
control———向服务发送控制。
sdshow———-显示服务的安全描述符。
sdset———–设置服务的安全描述符。
showsid———显示相应于假定名称的 sid 字符串。
triggerinfo—–配置服务的触发器参数。
preferrednode—设置首选的服务 numa 节点。
getdisplayname–获取服务的 displayname
getkeyname——获取服务的 servicekeyname。
enumdepend——枚举服务的依存关系。

下列命令不要求服务名称:
sc

是否想参阅 query 和 queryex 命令的帮助? [ y | n ]:
y

query 和 queryex 选项:
如果查询命令带服务名称,将返回
该服务的状态。其他选项不适合这种
情况。如果查询命令不带参数或
带下列选项之一,将枚举此服务。
type=    要枚举的服务的类型(driver, service, all)
默认 = service)
state=   要枚举的服务的状态 (inactive, all)
(默认 = active)
bufsize= 枚举缓冲区的大小(以字节计)
(默认 = 4096)
ri=      开始枚举的恢复索引号
(默认 = 0)
group=   要枚举的服务组
(默认 = all groups)

语法示例
sc query                – 枚举活动服务和驱动程序的状态
sc query eventlog       – 显示 eventlog 服务的状态
sc queryex eventlog     – 显示 eventlog 服务的扩展状态
sc query type= driver   – 仅枚举活动驱动程序
sc query type= service  – 仅枚举 win32 服务
sc query state= all     – 枚举所有服务和驱动程序
sc query bufsize= 50    – 枚举缓冲区为 50 字节
sc query ri= 14         – 枚举时恢复索引 = 14
sc queryex group= “”    – 枚举不在组内的活动服务
sc query type= interact – 枚举所有不活动服务
sc query type= driver group= ndis     – 枚举所有 ndis 驱动程序

上面的用法都是来自系统help, 具体使用很简单,试一试就ok 了。

windows service 是一种完全自定义控制的实现自动定时执行任务的方法,工业路由器可以自定义的东西很多,灵活性很高,所以使用起来可能会比 windows 任务计划程序稍微复杂一些,适合灵活度和扩张性要求高的情况。

最后,我们简单介绍一些 sql agent中job。

    sql agent 是  sql server的一个服务之一,用之前,我们需要启动 sql agent windows service. 这个只适用于数据库方面的数据定时更新,定时发送邮件,等等与数据库相关任务,但是牵涉到桌面应用方面的可能就无能为力了,这里不再多介绍了!

总而言之,使用何种方法来实现任务的定时的按计划执行 ,需要根据具体的情况来定:

  1. 仅仅与数据库相关的,用sql agent
  2. 不需要考虑太多灵活性和扩展性的,用windows 任务计划程序
  3. 灵活度高,需要考虑扩展应用(必须添加job,按照自定义方式执行job,… …),那我们可以选择windows service

深圳市智联物联科技有限公司是一家致力于提供工业级无线网络通讯产品和凯时国际app的解决方案的物联网企业,智联物联科技集产品研发、生产、销售、技术服务及定制化开发于一体。公司成立以来,为各行各业提供基于移动通信m2m系列产品和凯时国际app的解决方案;工业级3g/4g无线路由器,4g工业路由器,4g dtu,车载wifi,plc远程控制网关,工业路由器,工业级路由器,工业级无线路由器,工业级4g无线路由器,3g路由器,4g路由器,工业4g网关,工业无线路由器,打印服务器,串口服务器

遍及智能电力、智能交通、智能消防、智能家居、智慧水利、智慧医疗、快递柜、充电桩、自助终端、公共安全、安防通信、工业监测、环境保护、环境监测、路灯照明、花卉栽培、车载wifi等多个领域。

智联物联拥有一支专业的工业网络通讯产品研发团队,由具有丰富的电子产品开发经验的电子工程师、软件工程师和丰富的系统应用经验的网络工程师组成,以工业产品的开发流程和标准,采用国际领先的技术,不断创新,追求卓越,开发出一系列稳定、可靠的工业通讯产品,获得了多项发明和专利。

凯时注册的文化:智联物联以专业的团队、优质的产品、完善的服务得到客户的信任和认可。

智联物联价值观:专业合作、诚信立业、创新兴业、客户满意。www.szchilink.com

一、工业级设计

1.采用高性能工业级32位处理器

采用全球顶级无线凯时国际app的解决方案高通芯片,处理速度快,功耗小,发热量低,兼容性强,更加稳定,能满足一年365天7*24小时长时间稳定运行不掉线。

2.采用高性能工业级通信模块

采用华为等一线品牌高质量的通信模块,接收能力强,信号稳定,传输更快。

操作系统

采用openwrt一个高度模块化、高度自动化的嵌入式linux系统,让设备更加稳定,拥有128mb超大flash、1g超大内存,可以支持个性化定制开发的需求。

优质的pcb线路板,采用工业级元器件

公司产品线路板采用高品质材质,高标准生产,4层板工艺,产品元器件采用性能稳定的工业级元器件,全部机器自动化实现贴片生产,保证了产品的稳定可靠。

电源采用宽电压设计

支持dc5v-36v,内置电源反相保护和过压过流保护,承受瞬间电压电流过高的冲击。

以太网采用千兆网口,内置电磁防护

以太网接口内置1.5kv电磁隔离保护,千兆网口,传输速度更快。

抗干扰能力强

外壳采用加厚金属外壳,屏蔽电磁干扰,设备防护等级ip34,适合在环境恶劣的工业环境下使用。

二、功能强大

1.多模多卡,负载均衡

扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

支持全球网络制式

支持国内三大运营商2g、3g、4g网络制式,或者支持欧洲,或者支持东南亚,或者支持非洲,或者支持拉美等国家的2g、3g、4g网络制式。

支持有线无线备份

wan口和lan口可弹性切换,支持wan口有线和无线备份,有线优先、无线备份。

串口传输

支持同时串口232/485串口传输。

支持apn/vpdn专网卡,支持多种vpn

支持apn/vpdn专网卡使用,同时支持pptp、l2tp、ipsec、openvpn、gre等多种vpn。

强大的 wifi功能

具备wifi功能,可隐藏ssid,同时支持3路wifi,最多可支持15个信道,可同时接入50个设备,wifi支持802.11b/g/n,支持wifi ap、ap client,中继器,中继桥接和wds等多种工作模式,支持802.11ac,即5.8g(可选)。

支持ip穿透功能

可实现主机ip为路由器获取的ip地址,相当于主机直接插卡拨号上网获取基站ip。

支持vlan虚拟局域网划分

通过vlan的划分,增强局域网的安全性,vlan技术,能将不同地点、不同网络、不同用户组合在一起,形成一个虚拟的网络环境。

支持qos,带宽限速

支持不同网口带宽限速,ip限速,总带宽限速。

支持dhcp,ddns,防火墙,nat,以及dmz主机等功能

支持icmp,tcp,udp,telnet,ftp,http,https等网络协议

支持定时重启、手机短信控制上下线

可选支持portal广告,短信认证,微信认证,gps/北斗定位功能(可选)

支持m2m云平台管理,手机监控和web监控

设备数据监控、流量限制功能、资源推送、统计报表、远程设备管理(远程重启,wifi开关),远程参数修改,流量限制,gps定位追踪轨迹。

三、稳定可靠

1.支持硬件wdt看门狗,提供防掉线机制,确保数据终端永远在线。

2.支持icmp检测,流量检测,及时发现网络异常自动重启设备,保证系统长期使用稳定可靠。

3.工业级设计,金属外壳,抗干扰、防辐射,湿度95%无凝结,耐高温耐低温,零下30度至高温75度也可以正常工作。

4.产品通过ccc认证,欧洲ce认证等多种认证

操作简单,方便易用

1.上网简单,推杆式用户卡接口,插入手机卡/物联网卡/专网卡,上电后即可联网使用网口和wifi。

2.支持软硬件恢复出厂设置,可软件清除参数,可硬件rst一键恢复出厂设置。

3.产品快速使用说明书,web菜单式页面,可以快速设置使用设备。

4.诊断工具:日志下载查看,远程日志记录,ping检测,路由追踪,方便检测设备信息。