IBM大型机论坛索引
 
 登录
 
IBM大型机论坛索引  大型机:搜索 IBM Mainframe论坛:常见问题解答  寄存器
 

改进代码的建议


IBM大型机论坛 -> 清单& REXX
 发表新话题     回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
胡泽法

新的用户


已加入:2006年12月5日
帖子:83
地点:班加罗尔

 发布 发表:2009年11月24日,星期二,下午3:00
 引用回复

我开发了一个REXX代码,当Queue中有200个以上的作业正在运行,或者一个作业占用的CPU时间超过20个时,通知团队。
任何改进此代码的建议都会有用。
码:

永远做
 RC=ISFCALLS("ON")
 ISFPREFIX='USERID*'
 ADDRESS SDSF "ISFEXEC ST"
  如果ISFROWS> 200 THEN  CALL NOTIFY_TEAM
ISFCOLS ="JNAME JOBID CPU "
地址SDSF"ISFEXEC DA"
COLDTL = WORD(ISFCOLS,1)
IX = 1对ISFROWS
 DO JX=1 TO WORDS(ISFCOLS)
   COL=WORD(ISFCOLS,JX)
 END
 IF CPU.IX >20 THEN CALL NOTIFY_TEAM
 END
RC = ISFCALLS ("OFF")
结束

NOTIFY_TEAM :
此过程将准备工作以向团队发送电子邮件。
回到顶部
查看用户资料 发送私信
ofer71

全球主持人


已加入:2005年12月27日
帖子:2359
地点:以色列

 发布 发表:2009年11月24日,星期二,下午5:47
 引用回复

尝试添加NOMODIFY选项。

回到顶部
查看用户资料 发送私信
胡泽法

新的用户


已加入:2006年12月5日
帖子:83
地点:班加罗尔

 发布 发表:2009年11月24日,星期二,7:04 pm
 引用回复

我真的很感激。
回到顶部
查看用户资料 发送私信
佩德罗

全球主持人


已加入:2006年9月1日
帖子:2214
地点:硅谷

 发布 发表:2009年11月24日,星期二,9:18 pm
 引用回复

您是否尝试过运行它?

1.我认为您需要在循环中使用SLEEP语句。否则,它将连续运行而无需等待。也就是说,该循环每秒将执行1000次。如果您获得200个以上的工作,它将产生许多信息,团队才能做出响应。您的程序可能会变成对您自己的拒绝服务攻击,因为大量消息会阻止您执行任何工作(请勿在家中尝试此操作)。
<update>我认为您应该在每次迭代之前等待几分钟。

2.您可以在FOREVER语句之前完成一些设置语句。同样,您可以在最后一个END之后进行一些清理。

3.不清楚为什么需要此:
码:
JX = 1对单词(ISFCOLS)
   COL=WORD(ISFCOLS,JX)
 END
回到顶部
查看用户资料 发送私信
胡泽法

新的用户


已加入:2006年12月5日
帖子:83
地点:班加罗尔

 发布 发表:2009年11月25日,星期三,12:23 pm
 引用回复

你好

非常感谢您的回复。

我很糟糕,没有尝试使用DO FOREVER LOOP进行测试。

1. Wil chk 睡觉 声明。

2. ok.

3.良好的捕获。我试图从sdsf中获取单个列,却忘记将其删除。
回到顶部
查看用户资料 发送私信
胡泽法

新的用户


已加入:2006年12月5日
帖子:83
地点:班加罗尔

 发布 发表:2009年11月25日,星期三,下午1:07
 引用回复

看起来如何?

RC = ISFCALLS(“ ON”)
ISFPREFIX ='USERID *'
ISFCOLS =“ JNAME JOBID CPU”
永远做
地址SDSF“ ISFEXEC ST(NOMODIFY”)
如果ISFROWS> 200 THEN 致电NOTIFY_TEAM
地址SDSF“ ISFEXEC DA(NOMODIFY”)
IX = 1对ISFROWS
如果CPU.IX>20 THEN CALL NOTIFY_TEAM
结束

调用SYSCALLS
地址SYSCALL
“睡眠” 900
调用SYSCALLS 关

结束
RC = ISFCALLS(“ 关 ”)
回到顶部
查看用户资料 发送私信
外籍人士

全球主持人


已加入:2007年3月14日
帖子:8794
地点:威尔士威尔士

 发布 发表:2009年11月25日,星期三,下午1:15
 引用回复

每10到15分钟提交一次作业,而不是一直呆在启动器上,从而阻止其他任何人使用该启动器会更好吗?
回到顶部
查看用户资料 发送私信
胡泽法

新的用户


已加入:2006年12月5日
帖子:83
地点:班加罗尔

 发布 发表:2009年11月25日,星期三,下午6:05
 引用回复

感谢您的建议。如果我们把这项工作投入生产,肯定会提出这个想法。
回到顶部
查看用户资料 发送私信
佩德罗

全球主持人


已加入:2006年9月1日
帖子:2214
地点:硅谷

 发布 发表:2009年11月25日星期三晚上10:30
 引用回复

码:
调用SYSCALLS
地址SYSCALL
"SLEEP" 900
调用SYSCALLS 关


同样,在循环外进行设置和清理。
回到顶部
查看用户资料 发送私信
胡泽法

新的用户


已加入:2006年12月5日
帖子:83
地点:班加罗尔

 发布 发表:2009年11月26日,星期四,上午10:36
 引用回复

我在“永远做”内有睡眠声明,因此pgm不必不必要地chk sdsf。我希望pgm在15分钟内将chk sdsf一次。
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


已加入:2006年11月23日
帖子:19245
位置:矩阵内部

 发布 发表:2009年11月26日,星期四,上午10:44
 引用回复

您好,

您需要按照Expat的建议实施。 。 。

您现在拥有的一切在每个人身上都是无法接受的 管理得很好 我见过的系统。你拥有的是另一件事 能够 完成,但是 不应该 做完了。所有这些方法所做的就是永远浪费资源。 。 。

不允许使启动程序永久退出服务。
回到顶部
查看用户资料 发送私信
佩德罗

全球主持人


已加入:2006年9月1日
帖子:2214
地点:硅谷

 发布 发表:2009年11月26日,星期四,9:05 pm
 引用回复

您的rexx程序似乎是一个穷人的系统健康检查程序。如果这是您站点的系统管理计划的一部分,则您应该能够将rexx程序作为已启动的任务来启动。或者,如果缺少发起方,则为此目的定义另一个。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
 发表新话题     回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> 清单& REXX

 


类似主题
话题 论坛 回覆
 没有新帖 无论先前的步骤如何,都执行步骤... JCL和VSAM 2
 没有新帖 哪个SORT实用程序可以改善性能? DFSORT / ICETOOL 16
 没有新帖 错误0C1原因代码1与分支i ... PL / I和组装商 3
 没有新帖 JCL用于替换Cobol中的代码 JCL和VSAM 7
 没有新帖 Easytrieve EZABX007,错误代码0 ... CA产品 7
搜索我们的论坛:


 回到顶部