Focal Point
[CLOSED] Report caster batch jobs

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/5137073686

May 09, 2017, 10:14 AM
Krishna.edara
[CLOSED] Report caster batch jobs
Hi,
I have a requirement that has 38 jobs, these jobs have to trigger by a trigger, So is their anyway that I can bundle these 38 jobs as a single batch job?

Thanks,
Krishna

This message has been edited. Last edited by: FP Mod Chuck,


WebFocus-8/Windows/HTML, PDF, EXCEL
May 09, 2017, 10:55 AM
FP Mod Chuck
Hi Krishna

Do all 38 jobs have a single trigger? If so you can create an Alert that tests for the trigger condition and then have a ReportCaster schedule with 38 tasks run if the test is true.


Thank you for using Focal Point!

Chuck Wolff - Focal Point Moderator
WebFOCUS 7x and 8x, Windows, Linux All output Formats
May 09, 2017, 11:18 AM
Krishna.edara
Hi Chuck,
Thank you for your message,
my requirement is distribute each job to different email address so, I can not have all tasks in a single job, more over
I have a trigger condition in place but this has sleep for 15 min and check for trigger condition again, so my question here is if all my 38 jobs in sleep mode then all the agents will be engages with these jobs or will be released for other jobs?

Thanks,
Krishna


WebFocus-8/Windows/HTML, PDF, EXCEL
May 09, 2017, 11:50 AM
MartinY
quote:
my requirement is distribute each job to different email address so, I can not have all tasks in a single job


Use RC Bursting feature. A question regarding this has just been solved : [Solved] ReportCaster - How to Burst on Email Address


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
May 09, 2017, 12:13 PM
Krishna.edara
Hi Martin,
I can not use BURST function, because my reports are group by 4 levels, all groups should be displayed, burst function will work fine for first group but not for rest of the groups.

Please let me know if we have any alternative solution for this.

Thanks,
Krishna


WebFocus-8/Windows/HTML, PDF, EXCEL
May 09, 2017, 01:05 PM
FP Mod Chuck
Hi Krishna

So this sounds like you will have 38 separate reportcaster jobs with 38 alerts to run each one. The agents will only be in use if the alert (trigger) is true and when they are done they will be released for other jobs. There is a setting in ReportCaster to only allow a certain amount of agents to be used or some sites set up a data service specifically to be used by ReportCaster jobs so they don't interfere with the interactive users.

Hope this helps


Thank you for using Focal Point!

Chuck Wolff - Focal Point Moderator
WebFOCUS 7x and 8x, Windows, Linux All output Formats
May 09, 2017, 01:30 PM
Krishna.edara
Hi Chuck,
my requirement is to keep check the trigger alert until it is true (that is based on the source table update), so in this process job will be on sleep mode for 15 min for other attempt and this will continue for 2 hours and after that this job will be killed by her self, so if all my jobs are in sleep mode all the 38 agents will be engaged, is their anyway that we can do this trigger test with single agent or two or any other process to perform this action?

Thanks,
Krishna


WebFocus-8/Windows/HTML, PDF, EXCEL
May 09, 2017, 01:41 PM
MartinY
quote:
I can not use BURST function, because my reports are group by 4 levels, all groups should be displayed, burst function will work fine for first group but not for rest of the groups.


Except if I misunderstood your requirement, but as far as I understand it should work.

I have a report that is a multi-level fex (many SUM and BY on 4 levels) where the lowest level have 17 BY fields and I BURST it.

The bursting feature do work on the first BY field. So even if you do have 4 levels and 38 reports to distribute, until your first field on each level/report is (per example) the user to which the report must go to, it will work.
Then you need a proper distribution list/file.


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
May 09, 2017, 01:57 PM
FP Mod Chuck
Hi Krishna

I want to confirm that the trigger you are talking about is a WebFOCUS alert. I am confused as to how these jobs are in sleep mode.


Thank you for using Focal Point!

Chuck Wolff - Focal Point Moderator
WebFOCUS 7x and 8x, Windows, Linux All output Formats
May 09, 2017, 02:17 PM
eric.woerle
The other option is to write to the BOTSIT table.

By Joining BOTSCHED to BOTSIT on SCHEDULEID, you can select jobs based on the field JOBDESC. The field NEXTRUNTIME defines when a job is supposed to run next. This is captured in zulu time. by updating that to the current time (using zulu time), ReportCaster will fire off the job. So you can have your alert, run a job that updates the NEXTRUNTIME for your 38 other jobs.

I generally use this technique to run jobs after ETL completion, so my ETL is updating that field. But it should work in your instance as well.

This message has been edited. Last edited by: eric.woerle,


Eric Woerle
8.1.05M Gen 913- Reporting Server Unix
8.1.05 Client Unix
Oracle 11.2.0.2
May 10, 2017, 09:34 AM
jgelona
Krishna,

So you have a trigger job that is constantly runs, then sleeps for 15 minutes, then runs again. So what you what is when the trigger job flags a true condition, run the other 38 jobs. Is that correct? Are the 38 jobs to run serially or do all of them run at once.

Since you are on WebFOCUS 8, I am assuming DSTRUN will not work. That leaves 2 options. Use RESTful Web Services (which requires an additional license) to fire the jobs or use my rc_submit.fex to fire the jobs. My rc_submit.fex is a replacement for DSTRUN that updates the next run date time of a job to the current time + 1 minute. You can see that in the following link:

rc_submit.fex

So, if the jobs are to run all at once, do this:
-SET &RCJOBID=SheduleId1;
-INCLUDE RC_SUBMIT
-SET &RCJOBID=SheduleId2;
-INCLUDE RC_SUBMIT
-SET &RCJOBID=SheduleId3;
-INCLUDE RC_SUBMIT
...


If they are to run sequentially, do this:
-SET &RCJOBID=SheduleId1;
-INCLUDE RC_SUBMIT


then in schedules 1-37, in the post processing procedure 1 enter "baseapp/rc_submit.fex RCJOBID=NextScheduleId"

SheduleId1 is the schedule's Id. It usually looks something like this: S52089096s861bs4dc2sa025s8c0779769b44


In FOCUS since 1985. Prod WF 8.0.08 (z90/Suse Linux) DB (Oracle 11g), Self Serv, Report Caster, WebServer Intel/Linux.