ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

QINACTITV acting weird and not according to specified time

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • QINACTITV acting weird and not according to specified time

    So I changed QINACTITV and QINACTMSQQ and it does not work as expected.

    QINACTITV = 20 (minutes) and should send a message to QGPL/INACTMSGQ.

    Messages are sent every 10 minutes regardless of what value I set QINACTITV EXCEPT if I put a value <= 10. Then I get expected result.

    What is up with that ?

  • #2
    Once upon a time, the QINACTITV would specify how often the job would check for inactivity. If the time limit was exceeded just after the job was checked, it would have to wait another QINACTITV time period before it got ended, so a worst case scenario was that jobs could be inactive twice as long as the value was set.
    IBM however made changes to this, this document will help explain why you are getting these results: http://www-01.ibm.com/support/docvie...id=nas2SE50947

    Comment


    • #3
      Thanks, but I don't think that helps me. I wonder if ending and starting QINTER again will make a difference. I'll try that when I get a chance.

      Comment


      • #4
        The documentation seems to describe your scenario?

        If the QINACTITV system value is less than 15 minutes, the subsystem
        will continue to use the value specified by QINACTITV. If the
        QINACTITV system value is 15 minutes or more, the subsystem will
        check for inactivity every 10 minutes.
        Is that what you are experiencing?

        Comment


        • #5
          Maybe but that snippit is ambiguous in my opinion. Under the covers, it won't matter whether the system checks every ten minutes or every five minutes. As far as I was aware, QINACTITV sets the time for taking action on inactive jobs.

          From the help panel for QINACTITV: "Specifies when the system takes action on inactive interactive jobs." and "The number of minutes a job can be inactive before action is taken." I interpret these statements to mean "If a job has been inactive for the time specified, do something (end job/send message)"

          If the the QINACTITV function is going to perform an action every ten minutes (or less) it seems redundant to even have the option to change it. I don't want to end a user's job for being inactive for ten minutes but I do want to end their job if they have been inactive for an hour or more. And I know it worked this way before because I used it to that effect. Something is wonky.

          Comment


          • #6
            Hmm, it looks like my interpretation is wrong. On looking at the second level help on message CPI1126, it states that "job xxx/xxx/xxx has not been active for at least 60 minutes."

            So it outputs the message every 10 minutes if the job has been inactive for the time interval specified in QINACTITV. I must have been confused about earlier use of this feature.

            I need to get out of IT !

            Comment


            • john.sev99
              john.sev99 commented
              Editing a comment
              Yes, that is correct. You have confused the checking interval with the take action time period. The system checks every 10 minutes but only performs an <b>action</b> on a job if it has exceeded the value you specify in QINACTITV.
              In the past, if you set QINACTITV to 60 minutes for instance, that would cause the system to check every 60 mins. The system would check how long jobs have been inactive and if >= the time limit, action would be taken. However, if a job was inactive for e.g. 59 minutes and 59 seconds, no action would be taken and the next check would be in 60 mins time. That meant in a worst case scenario, jobs could be inactive for almost twice as long before they were ended. This was not really ideal and the reason IBM changed the checking interval.
          Working...
          X