Como alternativa a la definición de programas mediante la interfaz CLI como se describe en Uso de flujo de trabajo programado, es posible definir programas en el código del flujo de trabajo como una propiedad en el flujo de trabajo Objeto. Las propiedades que se utilizan en los flujos de trabajo Objeto son diferentes a las que se utilizan en la creación de un programa en la CLI.
En los flujos de trabajo Objeto, se utilizan las siguientes propiedades:
|
Un administrador con las autorizaciones apropiadas para el flujo de trabajo puede cambiar los programas codificados en el flujo de trabajo como se muestra en Uso de flujo de trabajo programado.
Ejemplo 22 Uso de las propiedades de flujo de trabajoEl siguiente código ejemplifica el uso de las propiedades. Tenga en cuenta que la aritmética en línea facilita la legibilidad de las definiciones del período y el desplazamiento.
// Example of using Schedule definitions within a workflow var MyTextObject = { MyVersion: '1.0', MyName: 'Example 9', MyDescription: 'Example of use of Timer', Origin: 'Oracle' }; var MySchedules = [ // half hr interval { offset: 0, period: 1800, units: "seconds" }, // offset 2 days, 4hr, 30min , week interval {offset: 2*24*60*60+4*60*60+30*60, period: 604800,units: "seconds" } ]; var workflow = { name: MyTextObject.MyName, description: MyTextObject.MyDescription, version: MyTextObject.MyVersion, alert: false, setid: true, schedules: MySchedules, scheduled: true, origin: MyTextObject.Origin, execute: function () { audit('workflow started for timer'); } }
Las unidades de las propiedades en el objeto MySchedules especifican el tipo de unidades que se utilizan para las propiedades offset y period. Se pueden establecer en seconds o month. La propiedad period especifica la frecuencia del evento y offset especifica las unidades dentro del período. En el ejemplo anterior, el período del segundo programa se definió en una semana, a partir del segundo día, a las 4:30 a. m. Es posible definir varios programas en la propiedad Schedules.
El objeto MySchedules del ejemplo usa las siguientes tres propiedades:
offset es el desplazamiento inicial desde el 1 de enero de 1970 para el programa. El desplazamiento se expresa en las unidades definidas por la propiedad units.
period es el período entre repeticiones del programa, que también se expresa en las unidades definidas por la propiedad units.
units se puede definir en seconds o months.
El punto inicial para los programas semanales es el jueves. Esto se debe a que el inicio del período es el 1 de enero de 1970, que fue jueves.
Ejemplo 23 Programa de flujo de trabajo que se muestra en la CLIEn el ejemplo anterior, en el período del segundo programa se usa un desplazamiento inicial de 2 días + 4 horas + 30 minutos. Como resultado, la fecha inicial es el 3 de enero de 1970 a las 4:30 a. m. El programa se repite indefinidamente el sábado de cada semana a las 4:30 a. m. A continuación, se puede ver el programa como se muestra en la CLI.
hostname:> maintenance workflows hostname:maintenance workflows> list WORKFLOW NAME OWNER SETID ORIGIN VERSION workflow-018 Check metaslab_unload_delay root false Oracle ZFSSA 1.0 workflow-019 Check metaslab_unload_timeout root false Oracle ZFSSA 1.0 workflow-020 Example 9 root true <local> 1.0 workflow-021 Set DNLC size and ncsize root false Data and App 2.0 workflow-022 Stop Existing SSH Sessions root false <local> 0.2 hostname: maintenance workflows> select name="Example 9" hostname: maintenance workflow-020> schedules hostname: maintenance workflow-020 schedules> ls Schedules: NAME FREQUENCY DAY HH:MM schedule-000 halfhour - --:00 schedule-001 week Saturday 04:30