We would like our users to be able to schedule runs of processes and reports at particular dates and times of their choosing, without them having to be logged in, and have the outputs of the processes and reports available to the users when they log in later. Is there a good tool or product that integrates well with OpenEdge applications that handles that sort of work?
What OS are you using? UNIX based operating systems use "cron". Windows uses "task scheduler". Setting up a batch job using either is pretty simple.
Many packaged Progress applications contain some sort of capability for doing this as well. They usually sit on top of the OS capability and just put what they consider to be a pretty face on it.
OpenEdge Management has a scheduler too.
Thanks for the information.
We're interested in scheduling calls to programs running on an appserver from within a running OpenEdge client session, rather than starting new OpenEdge sessions with OS schedulers. We'd be interested in buying a product that could handle that instead of writing our own, if such a thing was available.
I would like to do the same, but don't want users to do this manually. I have been looking through the PSDN websites (I can usually convert their C# or VB advice to Progress methodology), and found some info, but couldn't figure out how to do this programmatically.
I want the desktop or laptop client to run a Progress 4GL session (say) every hour. I could put something continuously running that spends most of its time sleeping in the OS startup, but that would be inefficient, and unreliable if it crashed and the user didn't logoff Windows again for a week.
I'd like to have it run every hour, attempt its processing, and exit. I want to add this from the user-based application by checking for the job's existence when the user logs in, and scheduling it if it doesn't. All seemless and without user interraction.
Windows task scheduler works just great for me...
On May 6, 2011 2:18 PM, "Bruce Noble"
I am sure it will for me, too. But how do I set the parameters programmatically, and how do I programmatically check for the existence of the job?
we store the parameters in a class , serialize the class to a
temp-table, serialise the temp-table into xml/json and store that in a
table with a guid and data field. the guid is then used as a -param on
the startup options of the scheduled task
("c:\progress\openedge\bin\_prowin32 -pf schedule.pf -param guid)
The schedule.p program (in .pf file) takes the guid passed, finds the
record, and unpacks it back into a class.
This class is then passed to the program I want to run.
Please forgive the ignorance, but how does that get the invocation of _prowin32 into a task in the Windows Scheduler? Feel stupid for having to ask, sorry.
no product available (just yet) but we do work on getting a java scheduler working for email bursting reports and handle asynchronous appserver calls on schedule... this is more like a centralized server solution than launching processes directly from the user desktop, adding remote scheduling via some web-service interface wouldn't be that hard i guess.
set up a shortcut on the desktop that manually starts your scheduled
task, right mouse-clock, copy the "target" , go to scheduled tasks and
create one, then paste that into the new scheduled task
in task scheduler or scheduled tasks when it asks for the program or
script , enter the
I need to avoid the desktop PC user having to do anything at all. I need to use an API or some other method for creating the scheduled task directly from my application. So creating the "target" and putting it in the C:\WINDOWS\Tasks folder from within the application is easy, but setting the properties of the scheduled task requires some sort of API to update the task within the scheduler.
Both free and commerical.