Todos os produtos
Search
Central de documentação

CloudFlow:Criar um agendamento baseado em tempo

Última atualização: Jun 28, 2026

O Serverless Workflow permite agendar execuções de fluxo de trabalho configurando expressões cron. Este tópico mostra como criar um agendamento baseado em tempo para o Serverless Workflow.

Pré-requisitos

Um fluxo deve existir.

Criar um agendamento no console

  1. Faça login no console do Serverless Workflow.

  2. Acesse a página Flow. Na lista de fluxos, clique em Flow Name do fluxo desejado.

  3. Na página Flows, clique em Time-based Schedules. Em seguida, na área Time-based Schedule Management, clique em Create Time-based Schedule.

  4. No painel Create Time-based Schedule, preencha os parâmetros e clique em OK.

    Parâmetro

    Ações

    Exemplo

    Nome do agendamento baseado em tempo

    Insira um nome personalizado para o agendamento baseado em tempo.

    schedule-test

    Configuração do horário de acionamento

    Selecione um método de agendamento e insira uma regra de tempo.

    Há suporte para dois tipos de expressão:

    • Cron expression: use uma expressão cron padrão. Para mais informações, consulte Parâmetros de tempo de agendamento.

    • Time interval: use uma expressão @every.

      Intervalo, em minutos, para execução do fluxo de trabalho.

    Selecione Time interval e insira 1 para executar o fluxo de trabalho a cada minuto.

    Payload

    Parâmetros personalizados no formato JSON.

    {"key": "value"}

    Descrição

    Insira uma descrição para o agendamento baseado em tempo.

    test schedule

    Ativar agendamento baseado em tempo

    Ative ou desative o agendamento baseado em tempo.

    Ative a chave Enable time-based schedule.

    • Após criar o agendamento, visualize-o na aba Time-based Schedule do fluxo de trabalho.

    • Na aba Executions do fluxo de trabalho, visualize o histórico de execuções. Os registros de acionamentos agendados exibidos nessa aba têm nomes que começam com scheduled-exec, status Succeeded e tempo de execução em milissegundos. Neste exemplo, uma nova execução aparece a cada minuto.

Criar um agendamento usando a CLI

Para criar um agendamento baseado em tempo com a Alibaba Cloud CLI, instale-a e configure-a previamente. Para mais informações, consulte O que é a Alibaba Cloud CLI?.

  1. (Opcional) Execute o comando a seguir para visualizar os parâmetros de solicitação da operação CreateSchedule.

    aliyun fnf CreateSchedule help

    Saída esperada:

    Alibaba Cloud Command Line Interface Version 3.0.45
    Product: fnf (FunctionFlow)
    Link:    https://xxxxxxxx.html
    Parameters:
      --CronExpression String  Required
      --FlowName       String  Required
      --ScheduleName   String  Required
      --Description    String  Optional
      --Enable         Boolean Optional
      --Payload        String  Optional
      --RequestId      String  Optional
  2. Execute o comando a seguir para criar um agendamento baseado em tempo.

    aliyun fnf CreateSchedule --FlowName test --ScheduleName "schedule-test" --CronExpression "@every 1m" --Payload "{\"key\":\"value\"}" --Description "test schedule" --Enable true

    Saída esperada:

    {
            "CreatedTime": "2024-06-26T03:36:57Z",
            "CronExpression": "@every 1m",
            "Description": "test schedule",
            "Enable": true,
            "LastModifiedTime": "2024-06-26T03:36:57Z",
            "Payload": "{\"key\":\"value\"}",
            "RequestId": "c7034d83-d1ba-648c-f05c-156439a857d7",
            "ScheduleId": "b888a48f-229d-4b35-adc6-5c63a37cf3b1",
            "ScheduleName": "schedule-test"
    }

Parâmetros de tempo de agendamento

Um agendamento baseado em tempo utiliza os seguintes parâmetros:

{
    payload: "payload"
    cronExpression: "cronExpression"
    enable: true|false
}
  • payload: entrada personalizada para a execução agendada. O payload deve estar no formato JSON.

  • cronExpression: agendamento do fluxo de trabalho. Há suporte para dois tipos de expressão.

    Nota

    Intervalos menores que 1 minuto são inválidos.

    • @every Valor Unidade

      Essa expressão executa o fluxo de trabalho em um intervalo fixo. O valor deve ser um número inteiro positivo e a unidade deve ser "m" (minutos).

      Exemplo de cenário

      Expressão

      Executar a cada 5 minutos

      @every 5m

      Executar a cada 1,5 horas

      @every 90m

    • Expressão de tempo

      • Expressão Cron

        Por padrão, as expressões cron usam o Tempo Universal Coordenado (UTC). O formato padrão da expressão cron é: Seconds Minutes Hours Day-of-month Month Day-of-week.

      • Expressão de fuso horário

        Para executar uma tarefa em um fuso horário específico, adicione o prefixo CRON_TZ=<TIMEZONE> à expressão. Por exemplo, para acionar um fluxo às 04:00 no primeiro dia de cada mês no fuso horário Asia/Shanghai, use CRON_TZ=Asia/Shanghai 0 0 4 1 * *.

        Nota

        Se o seu fuso horário adota o Horário de Verão (DST), podem ocorrer execuções duplicadas ou perdidas durante as transições. Recomendamos evitar o agendamento de execuções nessas janelas de transição.

      A tabela a seguir apresenta exemplos comuns de expressões de tempo. Por exemplo, para agendar um fluxo de trabalho às 12:00 no Horário de Pequim, a expressão cron correspondente é 0 0 4 * * * e a expressão de fuso horário é CRON_TZ=Asia/Shanghai 0 0 12 * * *.

      Exemplo

      Expressão Cron

      Expressão de fuso horário

      Agendar um fluxo de trabalho para executar às 12:00 todos os dias.

      0 0 4 * * *

      CRON_TZ=Asia/Shanghai 0 0 12 * * *

      Agendar um fluxo de trabalho para executar às 12:30 todos os dias.

      0 30 4 * * *

      CRON_TZ=Asia/Shanghai 0 30 12 * * *

      Executar um fluxo de trabalho aos 26, 29 e 33 minutos de cada hora.

      0 26,29,33 * * * *

      CRON_TZ=Asia/Shanghai 0 26,29,33 * * * *

      Agendar um fluxo de trabalho para executar às 12:30 todos os dias, de segunda a sexta-feira.

      0 30 4 ? * MON-FRI

      CRON_TZ=Asia/Shanghai 0 30 12 ? * MON-FRI

      Agendar um fluxo de trabalho para executar a cada 5 minutos, das 12:00 às 14:00, de segunda a sexta-feira.

      0 0/5 4-6 ? * MON-FRI

      CRON_TZ=Asia/Shanghai 0 0/5 12-14 ? * MON-FRI

      Agendar um fluxo de trabalho para executar às 12:00 todos os dias, de janeiro a abril.

      0 0 4 ? JAN,FEB,MAR,APR *

      CRON_TZ=Asia/Shanghai 0 0 12 ? JAN,FEB,MAR,APR *

      • Descrições dos campos

        Campo

        Faixa de valores

        Caracteres especiais permitidos

        Seconds

        0–59

        Não suportado

        Minutes

        0–59

        , - * /

        Hours

        0–23

        , - * /

        Day-of-month

        1–31

        , - * ? /

        Month

        1–12 ou JAN–DEC

        , - * /

        Day-of-week

        1–7 ou MON–SUN

        , - * ?

      • Descrições dos caracteres especiais

        Caractere

        Definição

        Exemplo

        *

        Indica qualquer valor no campo.

        No campo Minutes, * significa que a ação ocorre a cada minuto.

        ,

        Indica uma lista de valores.

        No campo Day-of-week, MON,WED,FRI indica segunda-feira, quarta-feira e sexta-feira.

        -

        Indica um intervalo de valores.

        No campo Hours, 10-12 indica o intervalo de tempo das 10:00 às 12:00 UTC.

        ?

        Indica ausência de valor específico.

        Use este caractere ao especificar um valor para Day-of-month ou Day-of-week, mas não para ambos. Por exemplo, se você especificar uma data em Day-of-month, use ? no campo Day-of-week.

        /

        Indica incrementos. n/m indica um incremento de m começando em n.

        No campo Minutes, 3/5 executa o fluxo de trabalho a cada 5 minutos, começando aos 3 minutos após a hora cheia.

Formato de entrada

Quando um agendamento baseado em tempo aciona um fluxo de trabalho, o serviço passa o seguinte objeto JSON como entrada:

{
  "triggerTime": "2020-01-01T00:00:00Z",
  "triggerName": "time-trigger",
  "payload": {
    "key": "value",
    "key_int": 1
  }
}
  • triggerTime: horário em que o fluxo de trabalho foi agendado para execução. Um fluxo pode ser agendado mais de uma vez no horário especificado. Use esse valor para deduplicação.

  • triggerName: nome do agendamento baseado em tempo.

  • payload: entrada personalizada definida na configuração do agendamento. Acesse os valores desse objeto na definição do fluxo usando uma expressão, como $.payload.key. Para mais informações, consulte Entrada e saída.