精华内容
下载资源
问答
  • 定时任务(批处理任务)设计不合理的反面教材: 曾经使用Spring Batch批处理框架的Tasklet进行批处理任务,使用Redis锁进行并发控制,在任务开始前使用Redis的setnx命令往Redis中插入值,任务结束后删除值,任务...

    定时任务(批处理任务)设计不合理的反面教材:

            曾经使用Spring Batch批处理框架的Tasklet进行批处理任务,使用Redis锁进行并发控制,在任务开始前使用Redis的setnx命令往Redis中插入值,任务结束后删除值,任务只有在当前Redis中不存在值时才运行启动。

    设计不合理之处:
            存在单点故障问题,一台机器A开始处理任务时,其他机器不处理任务,当服务器A在批处理任务执行到一半时宕机,Redis中的值需要等待自动过期才可删除,因此在Redis值自动过期前,此批处理任务不会再次启动。

    服务器集群中,定时任务(批处理任务)设计需要解决的问题:

    1、如果集群中每台机器都启动定时任务,容易造成数据重复处理的问题。
    2、如果采用定时任务开关的方式,只一台机器的开关on,其他机器的开关off,可以避免数据重复处理的问题,但是存在单点故障的问题。

    解决方式有:
    1、任务从数据库中读,保证只有一台机器可以抢到任务。
    2、将任务的定时触发模块、任务的执行模块分离。任务的定时触发模块每台机器都允许触发任务,但是任务的执行模块,只要收到一个执行任务,那么下一个执行任务就被忽略掉。任务开始执行设置running = true,任务执行完毕设置running = false,当running为ture时候,下一个任务不允许执行。需要注意的是,一定要在finally中加上running = false,要不然任务异常的话,下一次任务永远不会再执行了。
    展开全文
  • 利用任务计划定时重启服务器

    千次阅读 2011-12-23 11:35:25
    摘要:服务器在长时间运行之后,系统资源的占用率特别大,系统运行效率大大降低。访问服务器的普通用户也会受到影响,需要重新启动服务器系统。但是,如果我每次都是去现场重启服务器系统又很不现实。作为网络管理员...

    摘要:服务器在长时间运行之后,系统资源的占用率特别大,系统运行效率大大降低。访问服务器的普通用户也会受到影响,需要重新启动服务器系统。但是,如果我每次都是去现场重启服务器系统又很不现实。作为网络管理员,该怎 ...

    服务器在长时间运行之后,系统资源的占用率特别大,系统运行效率大大降低。访问服务器的普通用户也会受到影响,需要重新启动服务器系统。但是,如果我每次都是去现场重启服务器系统又很不现实。作为网络管理员,该怎么办?

    对服务器进行管理和优化通常需要既能在现场又能远程进行。但很多时候,网络管理员由于种种原因无法出现在服务器现场。此时,服务器管理就需要转向远程维护,从而提高效率。

    以下是一些远程管理服务器的巧招,希望能给读者以启示和借鉴。

    对于访问量较大的服务器系统来说,由于系统自身资源有限,系统每运行一段时间后系统资源的占用率就会很大。这样一来,服务器系统的运行效率就会下降。同时,普通用户访问服务器的速度也就会跟着下降。这时,重新启动服务器系统就能解决系统资源占用率过大的问题。但是,要让网络管理人员每次都到现场去重新启动服务器是不现实的。那么,能不能远程启动服务器系统呢?

    答案是肯定的。在Windows Server 2003系统中,我们可以利用系统自带的shutdown命令,来实现远程启动服务器系统的目的。只要先通过远程桌面维护功能登录进服务器系统,在系统运行框中执行shutdown命令,就能让服务器系统重新启动了。

    如果想让服务器每天都能定时启动一次的话,我们可以通过任务计划功能来定制一个服务器重启任务:首先,运行记事本程序,在文本编辑窗口中输入命令代码“ shutdown -r -f -t 10”,其中r参数用来指定服务器系统重新启动,f参数用来强行关闭服务器系统中的顽固进程和应用程序,t参数表示系统关机倒记时的时间;之后,将这段代码保存成“.bat”格式的批处理文件,例如在这里我们可以将它保存为“Restart.bat”。

    接着,依次单击“开始、程序、附件、系统工具、任务计划”命令,用鼠标双击其后界面中的“添加新任务”图标,打开新任务创建向导界面,单击“下一步”按钮,从应用程序列表框中单击“浏览”按钮,打开文件选择对话框,将之前生成的“aaa.bat”文件选中并导入到向导窗口中。然后,为新建的计划任务取个合适的名称,比如将新任务名称设置为“定时启动服务器”,并且将“该任务的执行”设置为“每天”。单击“下一步”按钮后,进入设置界面,将新任务的运行起始时间指定为每天“18:00”,再单击“完成”结束服务器定时重启任务的创建操作。

    这样一来,服务器系统就会在设定时间自动重新启动,那些长时间被占用的系统资源就会被及时释放出来,服务器的运行效率就能一直保持在比较高的状态。

    注释:通过流量统计发现每天早上5点到6点这个时间段网站访问人数最少于是我把服务器定时重启时间设置为每天的5:30 呵呵!
    展开全文
  • 服务器上执行Kettle的job任务

    千次阅读 2019-08-05 10:54:01
    本地Spoon跑job任务的话会非常慢,作调试用即可,下面介绍下如何在linux上跑job任务,可以用kettle自带的job功能,也可以用linux的crontab定时功能,这里介绍第一种。 ➡首先看下之前的一篇博文,了解一下kettle的...

    前言

    ?先看一张描述kettle很好的图:

    本地可供编写和测试,到生产自然要到服务器环境~

    本地Spoon跑job任务的话会非常慢,作调试用即可,下面介绍下如何在linux上跑job任务,可以用kettle自带的job功能,也可以用linux的crontab定时功能,这里介绍第一种。

    ➡首先看下之前的一篇博文,了解一下kettle的基本命令

    ➡掌握一丢丢脚本知识:

    运行sh的脚本命令:sh xxx.sh

    ➡确保已经在Spoon界面调试好了kjb文件,并设置好了定时时间。

     

    开整

    1.使用scp命令将编写调试好的kjb文件上传到服务器(图省事可以直接使用FlashFXP工具拖拽上传),如下:

    2. 编写sh脚本文件:

    2.1为了区分,我新建了一个文件夹

    mkdir   kjb-sh

    2.2进入文件夹,新建一个sh脚本:

    直接vim命令,创建并编辑:

    vim  general_kjb.sh 

    2.3将如下脚本贴进去,并根据自己的实际情况稍加修改:

    nohup /usr/local/kettle/data-integration/kitchen.sh -file=/usr/local/kettle/general-ktr/general.kjb  /level:Error  >>/usr/local/kettle/general-ktr/general_kjb_log.log &
    echo 'kjb启动成功!'

    介绍以下以上命令:

    nohup :配合&后台运行

    /usr/local/kettle/data-integration/kitchen.sh :你自己服务器上kitchen.sh文件的位置

    -file=/usr/local/kettle/general-ktr/general.kjb :就是我们刚刚上传的kjb文件的位置

    /level:Error :设置日志级别(Error是错误日志级别,只有运行出错误才会打印,方便查看错误点在哪,一般来说Basic基本日志最好,但是日志积累比较快,这里我选择Error级别)

     >>/usr/local/kettle/general-ktr/general_kjb_log.log :指定的日志输出位置,若无此文件,会自动创建

    & :配合nohup后台运行

    2.4保存文件,并运行

    sh general_kjb.sh 

    2.5 查看日志文件是否打印,job是否成功启动

    cat /usr/local/kettle/general-ktr/general_kjb_log.log

    查看如下:

    说明启动成功,等过了设置的job定时时间,可以看下效果~

    如有错误,可查看此log文件排查~

    若要结束kettle所有进程,执行:

    ps aux|grep kettle|awk '{print $2}'|xargs kill -9

     

    展开全文
  • 这个问题主要是记录了在日常的数据分析处理任务中,任务因为外界因素异常中断的问题,需要设置重新尝试执行定时任务

    在某个定时爬取数据的任务中,因为执行任务时各种原因存在使得任务在第一次执行的时候失败,但是任务脚本并不存在任何问题,因此此时需要设置失败的时候继续重新执行任务。

     

    为了解决这个问题,可以使用循环,我的解决逻辑如下:


    #循环执行5次

    for loop in 1 2 3 4 5

    do

           echo“This is the $loop try!”

           pythonmyCrawler.py params  #执行我的定时任务

        if [ ${?}-ne 0 ]; #判断定时任务执行的状态吗是否失败

          then

             if [ $loop -eq 5 ] #在5次尝试都失败后发出报警信息

             then send_error "python myCrawler.py params error and theloop is $loop"

              sleep 10s #在下次执行之前先暂停10s

             exit 1

              fi

              continue #跳出当前循环执行下一次循环任务

          fi

         echo "成功" #成功之后在界面打印成功状态

         break  #成功之后跳出所有循环

      done #for循环结束标志

     

    解决这个问题需要关注的是任务的要求:

    1.    任务第一次执行会失败,但是再次执行可能会成功,那么需要尝试5次

    2.    如果第5次尝试仍旧失败,需要发出报警信息

    3.    任务执行失败的原因可能是任务之间执行的太紧凑,可以设置任务之间的执行间隔即sleep一段时间

    4.    如果任务在某次成功之后,不再执行其它的循环,即循环要及时停止

    展开全文
  • java中服务器启动时,执行定时任务

    千次阅读 2017-11-03 16:40:14
    java中服务器启动时,执行定时任务
  • 远程服务器Tomcat8容器运行一个WEB项目,当服务器运行时间超过1月时,浏览器访问时,请求一直得不到响应,或响应时间超长,严重影响用户使用,为解决此问题,对tomcat8服务器设置每周星期一0点定时重启,保障服务器...
  • java中服务器启动执行定时任务

    千次阅读 2015-04-10 11:08:14
    在项目中有时经常会有这样一种情景,就是需要系统定时的执行一个任务,比如:向另外一个系统... 1、TestTimerListener.java执行定时任务,实现servlet的ServletContextListener接口,当服务器启动时开始执行TestTask任
  • 使用spring的@Scheduler注解可以非常方便的...首先在系统中配置一个执行job的机器的ip地址然后,当job开始的时候就将本地ip和配置的ip对比,如果不是的话就结束任务。转自:https://www.jianshu.com/p/30c1fb5f7f04...
  • 所以本文主要介绍如何在Linux环境下设置服务器的定时重启任务。 一、服务器环境 操作系统:Centos7; 二、定时任务 前言 ; ①设置定时重启服务的任务有好多种方法,本文用到了Crontab。 ②Crontab是一个非常方便...
  • web网站里面,需要每隔1分钟,执行一个任务,并且一直保持这个定时执行状态,可以用如下一个方法:  1,Global.asax里面的 Application_Start ,发生在第一次请求网站的时候,网站关闭(iis关闭网站或者删除网站)...
  • 本人Android新手,在学习中遇到了一个难题,希望大神给我一点启发,问题是这样的,我从服务器获取JSON数据进行解析,在onPostExecute中获取了一个图片的URL,当我在onPostExecute进行图片的读取时程序报错,查找了...
  • 谁来结束GUI程序-关于任务栏的思考

    千次阅读 多人点赞 2019-07-07 22:18:16
    在之前使用Windows XP的时候,都会有这样的经历,即打开一大堆的窗口,在任务栏排的满满的,同样程序的不同程序还可以分组,看似很有条理的样子… 不光Windows,Linux桌面,MacOS竟然也 学 着Windows的样子,也这么...
  • //判断服务是否已经初始化过(有则继续执行,否则结束) assert(ctx->init); //开启服务锁住状态 CHECKCALLING_BEGIN(ctx) pthread_setspecific(G_NODE.handle_key, (void *)(uintptr_t)(ctx->handle)); //从...
  • 服务器集群

    万次阅读 2018-09-29 16:57:30
    单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高 7*24小时的服务保证,任意一个或多个设备节点设备宕机,不会影响到业务。在负载...
  • web服务器和应用服务器的区别

    千次阅读 2017-05-26 17:37:54
    1.WEB服务器一般是通用的,而应用服务器一般是专用的。(如Tomcat只处理Java应用程序而不能处理ASPX或PHP。而Apache是一个WEB服 务器f(HTTP服务器),后来连接Tomcat应用服务器来支持java。) 2.WEB服务器: ...
  • WEB服务器与应用服务器的区别

    千次阅读 2016-08-05 18:07:47
    WEB服务器与应用服务器的区别: 1.WEB服务器: 理解WEB服务器,首先你要理解什么是WEB?WEB你可以简单理解为你所看到的HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就叫WEB服务器,如IIS、apache。 WEB...
  • 刀片服务器

    千次阅读 2011-12-16 14:13:36
    刀片服务器是指在标准高度的机架式机箱内可插装多个卡式的服务器单元,是一种实现HAHD(HighAvaiMabiMityHighDensity,高可用高密度)的低成本服务器平台,为特殊应用行业和高密度计算环境专门设计。刀片服务器就像...
  • WEBLOGIC服务器管理

    千次阅读 2014-04-22 17:06:46
    1 WebLogic服务器管理概述 本章将介绍WebLogic服务器的管理工具,内容如下: ü 域、管理服务器以及受管理的服务器 ü 启动管理控制台 ...对这些资源的管理包括下列任务服务器的启动及终止,服务器以及连接
  • 服务器的性能指标

    千次阅读 2012-05-01 22:44:53
    性能可以这样定义:在给定的硬件条件和时间里,能够处理的任务量。能够最大限度地利用硬件性能的服务器设计才是良好的设计。  设计良好的服务器还应该考虑平均服务,对于每一个客户端,服务器应该给予每个客户端...
  • Linux 网络编程——并发服务器的三种实现模型

    万次阅读 多人点赞 2015-05-12 17:40:08
    服务器设计技术有很多,按使用的协议来分有 TCP 服务器和 UDP 服务器,按处理方式来分有循环服务器和并发服务器。循环服务器与并发服务器模型在网络程序里面,一般来说都是许多客户对应一个服务器(多对一),为了...
  • 已加入域的计算机,并且拥有已授权登录exchange服务器的域帐户(如果已有的域帐户没有得到授权,请用本人upc邮箱发送申请信件到linglong@upc.edu.cn申请授权;  b.计算机上已安装Office 2010组件之一:OutLook ...
  • 记一个Jenkins任务无法结束的问题

    千次阅读 2019-04-08 19:11:00
    由于我是用一个cmd窗口通过“java -jar jenkins.war --httpPort=8088”来启动Jenkins服务的,于是我打开该cmd窗口,点击激活窗口之后按了一下回车,很意外的,程序继续执行,卡住的任务构建也顺利结束。 ...
  • 一 常见的WEB服务器和应用服务器  在UNIX和LINUX平台下使用最广泛的免费web服务器是W3C、NCSA和APACHE服务器,而Windows平台NT/2000/2003使用IIS的WEB服务器。  在选择使用WEB服务器应考虑的本身特性因素有...
  • Oracle服务器进程

    千次阅读 2018-04-13 19:00:13
    Oracle中的各个进程要完成某个特定的...专用/共享服务器,就是服务器进程B 后台进程 background process随数据库而启动,完成各种维护任务,如将块写至磁盘、维护在线重做日志、清理异常中止的进程等。C 从属进程 s...
  • web服务器和应用服务器的区别与分析

    万次阅读 多人点赞 2018-07-10 15:28:21
    一、Apache应用服务器 简介: Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a ...
  • 使用远程桌面进行远程管理服务器的用户估计会遇到远程桌面登陆服务器后显示黑屏,或无法显示桌面无法进行操作的问题,您可以尝试以下操作方法...3.点击激活窗口中“任务管理器”后,结束查看进程标签中explorer.exe进程
  • TCP并发服务器实现

    千次阅读 2019-07-11 18:52:13
    软件设计上,有多进程和多线程两种编程模型,实现服务器的并发。 多进程与多线程的区别:https://blog.csdn.net/baidu_35534327/article/details/53494961 思维导图 多进程并发 在多...
  • 新建服务器组: 注册
  • ssh连接linux服务器中断后,如何让命令继续在服务器运行

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 245,348
精华内容 98,139
关键字:

服务器怎么结束任务