Scheduling future admin jobs using scripting
Use this topic to schedule future recurring admin jobs in a flexible management environment using wsadmin.
Set a job manager, administrative agent, and register nodes with the job manager to set up a flexible management environment. We can optionally create management groups to simultaneously submit a job to multiple nodes.
After configuring the flexible management environment, we can submit, monitor, and manage jobs for the nodes that are registered with the job manager.
- Launch wsadmin. Navigate to the APP_ROOT/bin directory and use the following command to connect wsadmin to the job manager process:wsadmin -profileName myJobManager -lang jython
- Schedule a future admin job to the job manager.
Use the submitJob command to submit the future administrative job. Job submissions consist of the following information:
- Job type
- The job type specifies the type of job to perform. Many jobs exist in the flexible management environment including application management, product maintenance, configuration, and appserver runtime control jobs.
- Job target
- The job target specifies the node where the job runs.
- Job specific parameters
- Most admin jobs require configuration information in addition to the job type and target in order to run the job. Job parameters are specific to each job type.
- Optional generic parameters
- In addition to the job specific parameters, we can include any of the following optional parameters with the job submission:
Table 1. submitJob optional generic parameter descriptions
Parameter Description Type username Username to use to submit the job when security is enabled. String password for the username to use to submit the job when security is enabled. String description Description for the job. String activationDateTime Date and time to activate the job in the format "2006-05-03T10:30:45-0000". The -0000 section of the activationDateTime parameter value represents RFC 822 format. We can specify Z as a shortcut for Greenwich Mean Time (GMT), such as "2006-05-03T10:30:45Z". String expirationDateTime Specifies the expiration date for the job, in the format "2006-05-03T10:30:45-0000".
The -0000 section of the activationDateTime parameter value represents
RFC 822 format. We can specify Z as a shortcut for Greenwich Mean
String expireAfter Amount of time, in minutes, to wait before the job expires. Integer executionWindow Recurring interval for the job. String executionWindowUnit Recurring interval unit of measure for the value set by the executionWindow parameter. Specify DAILY to run the job daily, WEEKLY to run the job weekly, MONTHLY to run the job monthly, YEARLY to run the job annually, or CONNECTION to run the job each time the node connects and polls for jobs. String Email address that the system sends job notifications to. String
The following example schedules two weekly recurring jobs. For this example, an application frequently experiences a memory leak issue. While a development team fixes the application, it might be necessary to frequently stop and restart the application.
The following command examples schedule the job manager to stop and restart the server once per week, and notifies the system administrator when the server stops and restarts:AdminTask.submitJob('-jobType stopServer -targetList "[MyNode01]" -jobParams "[serverName server1]" -activationDateTime "2006-05-03T10:30:45Z" -executionWindowUnit DAILY -executionWindow 13:00:00-14:00:00 -email email@example.com')
AdminTask.submitJob('-jobType startServer -targetList "[MyNode01]" -jobParams "[serverName server1] " -activationDateTime "2006-05-03T10:40:45Z" -executionWindowUnit DAILY -executionWindow 13:00:00-14:00:00 -email firstname.lastname@example.org')
ResultsThe jobs have been submitted to the queue and will run at the date and time specified by the command.
What to do nextSubmit additional admin jobs to the job manager and monitor existing jobs.
Registering nodes with the job manager using scripting