今天一不小心点开了Windows任务计划,以前咩有怎么用过,发现还挺好用,于是想到了以前用户的一些问题

1:用户环境使用ArcSDE服务连接,每次运行到一定的负载量(可能是几天),就会很慢,用户就喜欢重启一下ArcSDE服务就可以解决了。

对该问题,我们不去探究用户的环境为什么会慢,既然他重启ArcSDE服务就可以解决问题,那么我们可以使用Windows的任务计划来执行以及写好的ArcSDE服务重启脚本,这样我们就可以定期重启ArcSDE服务来解决该问题了。

只需要写一个简单的bat文件即可

[python] view plaincopyprint?

  1. -- 关闭ArcSDE服务 
  2. sdemon -o shutdown -i 5151 -p sde 
  3. --等一些时间 
  4. sleep(5) 
  5. --启动ArcSDE服务 
  6. sdemon-o start -i 5151 -p sde 
-- 关闭ArcSDE服务
sdemon -o shutdown -i 5151 -p sde
--等一些时间
sleep(5)
--启动ArcSDE服务
sdemon-o start -i 5151 -p sde

这样就可以来解决用户问题了。

2:有些用户经常会使用GP工具来做一些相关的功能操作,可能有些东西就是机械的对数据进行操作,有些时候可能要等比较长的时间,那么用户就会咨询一下,我是否可以使用自动化的功能,定时来执行相关的GP工具呢?

以前给用户的答复就是不可以,因为这些GP工具不能脱离ArcMap的进程,也就是必须在ArcMap里面执行,这样肯定不可以。

但是当时并没有考虑Python与GP工具的结合,我们完全可以将GP工具写道Python脚本里面来进行相关的批量操作啊!

我们将相关的GP环境比如数据源路径、名称、参数等都写在Python里面,到时候定期执行就可以了。

其实对ArcGIS来说,重复性、必要性的工作比较多

  • 定期重建索引
  • 定期版本压缩
  • 定期分析数据

以下是一个重建索引的例子

[python] view plaincopyprint?

  1. from arcpy import * 
  2. env.workspace=r'Database Connections\Connection to 192.168.100.111.sde'
  3. for dataset in ListDatasets(): 
  4. for fc in ListFeatureClasses("","ALL",dataset): 
  5.         RemoveSpatialIndex_management(fc) 
  6.         AddSpatialIndex_management(fc) 
from arcpy import *

env.workspace=r'Database Connections\Connection to 192.168.100.111.sde'

for dataset in ListDatasets():
for fc in ListFeatureClasses("","ALL",dataset):
RemoveSpatialIndex_management(fc)
AddSpatialIndex_management(fc)

通过查看任务计划可以查看相关任务是否允许完成或者有问题,如下图可以得到,是不能在非ArcMap环境下执行运行GP工具的

TIPS:对没有写过Python的用户其实并不需要担心什么,如果你有现成的Modelbuilder模型,那么可以使用Export to python Scripts来获得相关的python脚本即可

延伸学习:

在 Linux 中,创建一个 cron 文本文件,其中包含希望脚本运行的日期和时间信息,然后使用 crontab 程序将该文件加载到 cron 中。

例如,以下信息将 Python 脚本(名为 rsysidxdb2.py)设置为在每个星期三晚上 10:00 运行:

0 22 * * 3 /usr/bin/rsysidxdb2.py

有关 cron 的使用信息,请参阅随 Linux 安装提供的 Linux 手册页。

-------------------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

------------------------------------------------------------------------------------------------------

转摘地址:http://blog.csdn.net/linghe301/article/details/9923511

转:Windows任务计划实现自动执行ArcGIS相关功能的更多相关文章

  1. 在WINDOWS任务计划程序下执行PHP文件 PHP定时功能的实现

    最近需要做一个定时任务功能,从网站找了很多相关的代码,windows实现方法综合起来大概就两种, 一.使用PHP ignore_user_abort 函数 即使关掉浏览器也能正常运行:(个人感觉PHP ...

  2. windows 10 如何设定计划任务自动执行 python 脚本?

    我用 python 写了一些脚本,有一些是爬虫脚本,比如爬取知乎特定话题的热门问题,有一些是定期的统计分析脚本,输出统计结果到文档中.之前我都是手动执行这些脚本,现在我希望如何这些脚本能自动定时执行. ...

  3. windows下设置计划任务自动执行PHP脚本

    背景: 环境部署在linux下或者windows中,可以使用windows的自动任务设置自动执行脚本执行一些日常运维任务 图形界面设置相对比较简单 准备工作: wamp(集成的PHP执行环境) 已经写 ...

  4. 转 Windows 7设置定时自动执行任务方法

    在使用电脑的时候可能会遇到一些需要无人值守让电脑自行执行任务后定时关机的情形,在Win7系统中,我们可以使用"任务计划"设置功能结合 shutdown命令灵活设置任务计划,让Win ...

  5. 使用windows任务计划程序自动清除C盘缓存文件

    背景 由于应用程序会不断的产生各种临时文件和缓存文件,我们的C盘有时候不知不觉就被填满了,因此,配置一个自动清除缓存文件的脚本势在必行了. 功能 自动删除C盘的缓存和临时文件 隐藏执行时的CMD窗口 ...

  6. Windows通过计划任务定时执行bat文件

    第一步 第二步 第三步 第四步 第五步 第六步

  7. 定时备份服务器数据库(借助windows任务计划以及mysqldump)

    最近社区多了,考虑到数据的安全性,要每天备份一次数据库,以防万一: linux目前还不是很了解,先用windows的计划任务吧: 大体思路就是 借用windows的计划任务来执行备份远程数据库到本地: ...

  8. Spring Boot中自动执行sql脚本

    说明:所有的代码基于SpringBoot 2.0.3版本 背景 在应用程序启动后,可以自动执行建库.建表等SQL脚本.下文中以要自动化执行people.sql脚本为例说明,脚本在SpringBoot工 ...

  9. Windows Server 2008 任务计划无法自动运行的解决办法

    问题:编写的bat脚本,直接执行,成功:但是在任务管理器中配置该任务,运行不成功,结果显示为:0x1,系统环境为 Windows Server 2008. 分析:bat任务没有调用执行. 解决方案: ...

随机推荐

  1. node mysql问题:Client does not support authentication protocol requested by server; consider upgrading MySQL client!

    node后台 mysql处理模块(版本:2.16.0) 执行connect方法时报错: Client does not support authentication protocol requeste ...

  2. springboot整合springtask

    在使用 springmvc 中,一般的定时任务是使用 job 或者 quartz 或者timer来实现,但是使用它们的时候比较麻烦,会在 xml 文件中配置很多, springboot 的定时任务比较 ...

  3. python 批量修改包名

    #coding=utf-8 import os #import re # 设置编码为utf-8 否则会报错..这时候 sublime控制台会报乱码.但是别担心,utf-8 文件 并不会报错 impor ...

  4. C语言中的定义与声明

    什么是定义?什么是声明?它们有何区别? 举个例子: 1 2 A)int i; B)extern int i;(关于extern,后面解释) 哪个是定义?哪个是声明?或者都是定义或者都是声明?我所教过的 ...

  5. AngularJS页面【uib-dropdown】控件在模态窗口(弹出窗)中无法使用问题

    如果你的下拉框中有属性 dropdown-append-to-body 将它去掉,即可正常使用该插件. <div class="btn-group dropdown" uib ...

  6. java——线程的wait()和notify()

    这是一个关于生产者和消费者的线程通信的例子: package thread_test; public class PCThread { public static void main(String[] ...

  7. 百度webuploader 上传演示例子

    前端代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="baiduWebU ...

  8. Mybatis学习笔记16 - bind标签

    1.${}拼串进行模糊查询,不安全 示例代码: 接口定义: package com.mybatis.dao; import com.mybatis.bean.Employee; import java ...

  9. LeetCode 303.区域检索-数组不可变(accumulate()和for循环差异分析)

    给定一个整数数组  nums,求出数组从索引 i 到 j  (i ≤ j) 范围内元素的总和,包含 i,  j 两点. 示例: 给定 nums = [-2, 0, 3, -5, 2, -1],求和函数 ...

  10. React.js 小书 Lesson6 - 使用 JSX 描述 UI 信息

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson6 转载请注明出处,保留原文链接和作者信息. 这一节我们通过一个简单的例子讲解 React.j ...