Esta documentación ha sido traducida automáticamente por IA.
Una tarea programada es un evento que se activa según una condición de tiempo. Existen dos modos principales:
cron, basándose en la hora del sistema.Cuando el sistema llega al momento (con una precisión de segundos) que cumple las condiciones de activación configuradas, se ejecutará el flujo de trabajo correspondiente.
Para crear un flujo de trabajo, en la lista de flujos de trabajo, seleccione el tipo "Tarea Programada":

Para este modo habitual, primero debe configurar la hora de inicio en cualquier momento (con una precisión de segundos). La hora de inicio puede ser una fecha futura o pasada. Si se configura una hora pasada, el sistema verificará si la tarea debe activarse según la condición de repetición configurada. Si no hay una condición de repetición y la hora de inicio es pasada, el flujo de trabajo ya no se activará.
Existen dos formas de configurar la regla de repetición:
cron, lo que le permite configurar un ciclo para que se active en fechas y horas fijas según una regla.Después de configurar la regla de repetición, también puede establecer una condición de finalización. Puede finalizar en un momento específico o limitarse por el número de veces que se ha ejecutado.
Utilizar un campo de tiempo de una colección para determinar la hora de inicio es un modo de activación que combina las tareas programadas habituales con los campos de tiempo de las colecciones. Este modo puede simplificar los nodos en ciertos flujos de trabajo específicos y es más intuitivo en su configuración. Por ejemplo, si necesita cambiar el estado de los pedidos impagados y vencidos a "cancelado", puede configurar una tarea programada en el modo de campo de tiempo de la colección, seleccionando como hora de inicio "30 minutos después de la creación del pedido".
Si se cumple la condición de tiempo configurada, pero el servicio de la aplicación NocoBase está inactivo o apagado, la tarea programada que debería haberse activado en ese momento se perderá. Además, una vez que el servicio se reinicie, las tareas que se perdieron no se volverán a activar. Por lo tanto, al usar esta función, es posible que deba considerar cómo manejar estas situaciones o implementar medidas de contingencia.
Cuando se configura la condición de finalización "por conteo de repeticiones", se calcula el número total de ejecuciones de todas las versiones del mismo flujo de trabajo. Por ejemplo, si una tarea programada se ha ejecutado 10 veces en la versión 1, y el conteo de repeticiones también se establece en 10, el flujo de trabajo ya no se activará. Incluso si se copia a una nueva versión, no se activará a menos que el conteo de repeticiones se cambie a un número mayor que 10. Sin embargo, si se copia como un nuevo flujo de trabajo, el conteo de ejecuciones se restablecerá a 0. Sin modificar la configuración relevante, el nuevo flujo de trabajo podrá activarse otras 10 veces.
El intervalo en la regla de repetición es relativo al momento de la última activación (o la hora de inicio), mientras que el modo avanzado se activa en puntos de tiempo fijos. Por ejemplo, si se configura para activarse cada 30 minutos, y la última activación fue el 2021-09-01 12:01:23, entonces la próxima activación será el 2021-09-01 12:31:23. Por otro lado, el modo avanzado (es decir, el modo cron) se configura para activarse en puntos de tiempo fijos; por ejemplo, puede configurarse para activarse a los 01 y 31 minutos de cada hora.
Supongamos que necesitamos verificar cada minuto los pedidos que no se han pagado después de 30 minutos de su creación y cambiar automáticamente su estado a "cancelado". Implementaremos esto utilizando ambos modos.
Cree un flujo de trabajo basado en tareas programadas. En la configuración del disparador, seleccione el modo "Tiempo personalizado", establezca la hora de inicio en cualquier momento no posterior a la hora actual, elija "Cada minuto" para la regla de repetición y deje la condición de finalización en blanco:

Luego, configure otros nodos según la lógica del proceso para calcular la hora de hace 30 minutos y cambiar el estado de los pedidos impagados creados antes de esa hora a "cancelado":

Una vez que el flujo de trabajo esté habilitado, se activará una vez por minuto a partir de la hora de inicio, calculando la hora de hace 30 minutos para actualizar el estado de los pedidos creados antes de ese momento a "cancelado".
Cree un flujo de trabajo basado en tareas programadas. En la configuración del disparador, seleccione el modo "Campo de tiempo de la colección", elija la colección "Pedidos", establezca la hora de inicio en "30 minutos después de la creación del pedido" y seleccione "No repetir" para la regla de repetición:

Luego, configure otros nodos según la lógica del proceso para actualizar el estado del pedido con el ID de datos del disparador y un estado "no pagado" a "cancelado":

A diferencia del modo de tiempo personalizado, aquí no es necesario calcular la hora de hace 30 minutos, ya que el contexto de los datos del disparador del flujo de trabajo ya contiene la fila de datos que cumple la condición de tiempo. Por lo tanto, puede actualizar directamente el estado del pedido correspondiente.