如何在 Linux 中的 IBM WebSphere Application Server 中每 120 秒执行一次 j


def generate_Dump_File(type_name, server_name):
    #print 'Server Name:'+ server_name
    server = '/Server:'+ server_name
    # Set the Node ID
    serverID = AdminConfig.getid(server)
    #print 'Server ID:' + serverID
    if serverID  == "" :
        print "Server Name you have entered does not exist"
    else :
        jvm = AdminControl.queryNames('type='+type_name+',process='+server_name+',*')
        print "####################################"
        print "Generating Heap Dump..................n"
        AdminControl.invoke(jvm, 'generateHeapDump')
        print "Generating Java Core Dump..................n"
        AdminControl.invoke(jvm, 'dumpThreads')

        print "Generating System Core Dump..................n"
        AdminControl.invoke(jvm, 'generateSystemDump')

generate_Dump_File(type_name, server_name)

这是我在WAS中执行的代码/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/

我正在执行此脚本的上述路径但是我需要每 120 秒执行一次这些脚本,在脚本上方我从用户那里获得输入。在 cron 选项卡中是不可能的。.

在对服务器 ID 进行一次性查找后,可以在脚本中循环。

import time
while true: 
  time.sleep(120)
  ... existing code...

我添加了下面的代码,每 120 秒执行一次 jython 脚本,以在 IBM Websphere 中生成转储

def print_time( threadName, delay):
while 1: time.sleep(delay) print "%s: %s" % ( threadName, time.ctime(time.time()) )
execute code here try: thread.start_new_thread( print_time, ("Thread", 120, ) )
except: print "Error: unable to start thread" while 1: pass

上面的代码对我来说很好用。.