Pular para o conteúdo

Cron

[Fonte]

(Adicionado pela [emenda Cron][].)

Um objeto Cron representa uma execução agendada de Hook criada por uma transação CronSet. O mecanismo Cron insere automaticamente pseudo-transações do tipo Cron no ledger quando execuções agendadas estão vencidas.

{
"Owner": "rWYkbWkCeg8dP6rXALnjgZSjjLyih5NXm",
"OwnerNode": "0000000000000000",
"StartTime": 816348759,
"RepeatCount": 3,
"DelaySeconds": 120,
"PreviousTxnID": "5463C6E08862A1FAE5EDAC12D70ADB16546A1F674930521295BC082494B62924",
"PreviousTxnLgrSeq": 6,
"LedgerEntryType": "Cron",
"index": "49647F0D748DC3FE26BDACBC57F251AADEFFF391403EC9BF87C97F67E9977FB0"
}

Um objeto Cron tem os seguintes campos:

CampoTipo JSON[Tipo Interno][]Obrigatório?Descrição
OwnerStringAccountIDSimA conta que possui a execução agendada de Hook. Esta é a conta que será invocada quando o cron executar.
OwnerNodeStringUInt64SimUma dica indicando qual página do diretório do proprietário aponta para este objeto, caso o diretório consista em múltiplas páginas. Nota: O objeto não contém um link direto para o diretório do proprietário que o contém, pois esse valor pode ser derivado de Owner.
StartTimeNumberUInt32SimTimestamp da Época Ripple para quando a primeira execução deve ocorrer. Use 0 para execução imediata. Consulte [Especificando Tempo][] para detalhes.
RepeatCountNumberUInt32SimNúmero de vezes que o cron deve executar. Pode ser estendido via transações CronSet subsequentes. Máximo de 256 por transação, mas pode ser estendido além deste limite.
DelaySecondsNumberUInt32SimIntervalo de tempo em segundos entre cada execução. Máximo de 31.536.000 segundos (365 dias).
PreviousTxnIDStringHash256SimO hash identificador da transação que mais recentemente modificou este objeto.
PreviousTxnLgrSeqNumberUInt32SimO [índice do ledger][Índice de Ledger] que contém a transação que mais recentemente modificou este objeto.
LedgerEntryTypeStringUInt16SimO valor 0x0061, mapeado para a string Cron, indica que este objeto é um objeto Cron.

O ID de um objeto Cron é o SHA-512Half dos seguintes valores, concatenados em ordem:

  • A chave de espaço Cron (0x0076)
  • O timestamp do campo StartTime
  • O AccountID aleatorizado do campo Owner

Quando um cron está pronto para executar, o mecanismo Cron insere uma pseudo-transação do tipo Cron no ledger. Essa pseudo-transação contém um campo Owner referenciando a conta Hook de origem. O Hook agendado será invocado automaticamente nos intervalos especificados sem exigir acionadores externos.

Desenvolvedores de Hook devem habilitar collect calls (flag hsfCOLLECT) em seus Hooks, pois o Owner constitui um stakeholder transacional fraco (TSH) quando a pseudo-transação Cron executa.