• 后台运行进程(background job)


          在一些日常业务中,总有一些长时间处理的任务,系统运行这些任务需要一晚甚至一个周末。

          这就需要后台运行单元(background work process)来完成,而且其是不会发生超时(time out) 错误的。 

    进程(job)有下面几种类型:

          时间驱动(Time-driven  job):按照用户预先设定的有时间启动进程。

          事件驱动(Event-Driven job):在一个事件或另一个进程后,该进程启动。

          周期型(periodic  job) :在每时或每天,定时执行的进程。

          删除型(deleting  job): 为删除系统中盈余的数据的进程,可能会执行较长时间,需要在后台进行。 

    进程的属性:

    Job name:进程的名最长为32字符。

    Job count:为了去该进程在系统中的唯一性。比如周期性进程的名都是一样的,

                     Job name+Job count就能确定其的唯一性。

    Step:在该进程内中定义的程序数量。

    Start data:启动的时间点有:立即(immediatlly),指定时间(data/time),

                          时间(event)…等等。

    Job owner:产生该进程的用户。

    Job class:该进程在系统中的执行等级。

    Client:决定该进程在哪个Client中执行,有些系统进程必须在Client000中执行。

    Target sever:决定该进程在那个服务器中执行,这有助于合理的分配系统资源

    进程状态:

    Planned:进程已经被定义,但是还没有开始。

    Release:进程已经开始,但是进程中定义的程序还没有被执行。

    Ready: 进程已经开始,所有程序开始的条件(启动时间)也已满足,等候系统分配运行资源

                  (运行所需的后台进程处理单元<BTC-WP>)。

    Active:   进程开始,而且定义的每一个程序(STEP)都被按序执行。

    Finished: 进程顺利完成。

    Cancelled:因为错误,进程没有正常完成。 

    各个进程的关系:

    Planned   <>  Release  > Ready -> Active -->  finished or Cancelled

     执行后台进程的方法:

       事务执行命令(transaction code):

               SM36,SM37, SA38

      ABAP 程序:

               SAP系统程序或客户自定义的程序。

    外部程序或工具:

             外部工具(第三方)通过BAPI-XBP接口,从外部定义执行后台进程。 

    后台进程相关的系统表:

    TBTCO:   存放后台进程所有的信息和状态。

    TBTCP:存放后台进程中定义程序的信息。

    TBTCS:    时间驱动进程相关的信息。

    BTCEVTJOB:事件驱动进程相关的信息。 

    后台进程的日志(joblog):

    日志存放在文件系统(其是TemSe子系统)中,列如:/usr/sap/<sid>/sys/global/001joblg…

    一般的问题处理:

    问题1:  后台进程没有启动。

    原因1:系统没有足够的资源。可以用T-cd:Sm51,Rz04,SM66,Sm37确认。

    原因2:进程调度(Scheduler)没有运行。T-cd:Sm61确认。

    原因3:无法生产日志,用Sm21确认系统日志,和ST11确认developer trace。

                       可能是有TemSe不整合或有OS文件的访问问题。 

    原因4:TCTCO,TCTCP…等一系列表之间的不整合;用SM65->Goto->Additional test->

                    选择:Perform TemSe check

                                 Consistency check DB Table

                                    Remove inconsistencies

                    ->执行

    问题2:后台进程在执行的过程中,发生互锁。

    原因1:确认应用程序的逻辑,一般情况下这个问题都是有应用程序本身导致的。

    原因2:数据库的原因,但是这样的情况较少。

    原因3:两个周期进程,间隔时间太短,以至于第一个还没有执行完,第二个已开始执行。

    建议·: 根据note-16083中的说明,设定标准进程,以减少系统负担和数据盈余。

  • 相关阅读:
    驾照更换说明
    批处理创建快捷方式
    AC中保存数据与查询数据
    logger日志模块
    如何将python脚本转化为exe
    numpy学习
    request是个什么东西
    django的test文件的使用方式
    高频正则表达式
    dir 的作用
  • 原文地址:https://www.cnblogs.com/ruingy/p/3676023.html
Copyright © 2020-2023  润新知