Pianificare job di monetizzazione

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Panoramica dei job pianificati

La monetizzazione fornisce un programma di pianificazione dei job e una serie di job pre-programmati per l'esecuzione e orari designati.

Nella tabella seguente sono elencati i lavori preprogrammati forniti dalla monetizzazione e gli orari in cui vengono pianificata per l'esecuzione (tutti gli orari indicati sono nel fuso orario UTC). Viene indicato anche il trigger per ogni job.

Lavoro Descrizione Programmazione (UTC) Trigger
Aliquota fiscale mensile per gli sviluppatori Recupera l'aliquota fiscale dal motore fiscale per ogni sviluppatore e aggiorna lo sviluppatore persona giuridica con l'aliquota fiscale modificata. Primo giorno di ogni mese alle 05:45 MINT.MONTHLY_DEV_TAXRATE@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Rinnova abbonamento Applica tariffe ricorrenti per i piani tariffari attivi o nuove tariffe per quelli futuri che a partire dal giorno corrente. Ogni giorno a 5 secondi dopo la mezzanotte MINT.RENEW_SUBSCRIPTIONS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Autore aggiornamento XeFeed Permette di ottenere il tasso di cambio in dollari statunitensi per ogni valuta supportata. Ogni giorno a 1 secondo dopo la mezzanotte MINT.XEFEED@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Rinnova piano tariffario sviluppatore Esegue il rollback delle date di rinnovo di un piano tariffario e calcola le tariffe per la risoluzione anticipata. Ogni giorno alle 02:20 MINT.RENEW_DEV_RATEPLAN@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Riprova inoltro transazione Nota: questo job è stato ritirato e non ha alcun impatto su la monetizzazione. Ogni giorno alle 04:30 MINT.RETRY_TX_RELAY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Strumento di pulizia transazioni Nota: questo job è stato ritirato e non ha alcun impatto su la monetizzazione. Ogni giorno alle 05:30 MINT.TX_CLEANSER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Controllo del saldo sviluppatori Consente di controllare il saldo dell'account sviluppatore. Copia l'utilizzo attuale e il pagamento anticipato saldo/pagamento posticipato a una tabella di controllo, quindi detrae l'utilizzo corrente dall'importo account sviluppatore e restituisce il saldo di utilizzo a zero. Primo giorno di ogni mese, 5 secondi dopo la mezzanotte MINT.DEVELOPER_BALANCE_AUDIT@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Documenti sulla fatturazione mensile Genera documenti di fatturazione.

Nota:Apigee non supporta più la generazione di documenti di fatturazione dalla monetizzazione Apigee Edge. Vedi Pensioni.

L'11° giorno di ogni mese a 1 minuto dopo mezzanotte MINT.MONTLY_BILLING_DOCS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Contatore piano tariffario sviluppatore Nota: questo job è stato ritirato e non ha alcun impatto su la monetizzazione. Ogni giorno a 3 secondi dopo la mezzanotte MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Addebiti giornalieri Ricalcola tutti i totali delle transazioni orarie e li utilizza per calcolare i totali giornalieri per giorno precedente. Ogni giorno alle 01:20 MINT.CHARGE_DAILY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Addebiti orari Calcola tutti i totali delle transazioni per ogni trimestre d'ora. 1 minuto dopo ogni quarto d'ora MINT.CHARGE_HOURLY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Aggiorna configurazione notifiche Reindicizzazione di tutte le condizioni di notifica. Ogni 5 minuti MINT.REFRESH_NOTIFICATION_CONFIG@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
Invia notifiche email Invia notifiche email accumulate Ogni ora MINT.EMAIL_NOTIFICATION@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
Limite di aggiornamento Nota: questo job è stato ritirato e non ha alcun impatto su la monetizzazione. N/A (non viene mai eseguito) MINT.REFRESH_LIMIT@@@
message-processor@@@SYSTEM@@@
message-processor@@@SYSTEM

Oltre ai job elencati sopra, esistono job che puoi abilitare tramite evento di notifica, come indicato nella tabella seguente. Per ulteriori informazioni, vedi Configurare le notifiche.

Job Descrizione Pianificazione Trigger
Notifica nuovo pacchetto Invia una notifica a tutti gli sviluppatori che informa che è disponibile un nuovo pacchetto API. Viene eseguito una volta: il giorno in cui il job viene abilitato alle 21:00.

Nota: le notifiche vengono inviate una sola volta, indipendentemente dal fatto che tu configurare un cronExpression che ne consolida l'esecuzione volte.

MINT.NEW_PACKAGE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Nuova notifica Ad Hoc Invia una notifica a tutti gli sviluppatori circa la disponibilità di nuovi prodotti API in determinati in base ai mercati geografici. Viene eseguito una volta: il giorno in cui il job viene abilitato alle 21:00.

Nota: le notifiche vengono inviate una sola volta, indipendentemente dal fatto che tu configurare un cronExpression che ne consolida l'esecuzione volte.

MINT.ADHOC_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Notifica nuovo prodotto Invia una notifica a tutti gli sviluppatori che informa che è disponibile un nuovo prodotto API. Viene eseguito una volta: il giorno in cui il job viene abilitato alle 21:00.

Nota: le notifiche vengono inviate una sola volta, indipendentemente dal fatto che tu configurare un cronExpression che ne consolida l'esecuzione volte.

MINT.NEW_PRODUCT_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Notifica Nuovo piano tariffario

Invia una notifica agli sviluppatori interessati circa la disponibilità di un nuovo piano tariffario. Tutti gli sviluppatori abbonati al piano tariffario principale vengono informati che viene creato un nuovo piano tariffario attivo.

Inoltre:

  • Se il piano tariffario è un piano standard, tutti gli sviluppatori riceveranno una notifica.
  • Se si tratta di un piano tariffario per la categoria di sviluppatori, solo gli sviluppatori di quella categoria riceveranno notificato.
  • Se si tratta di un piano tariffario dello sviluppatore, solo quello specifico sviluppatore riceverà notificato.
In esecuzione alla data di inizio del nuovo piano tariffario, alle 04:30. MINT.NEW_RATEPLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Nuovo TTC Invia una notifica agli sviluppatori interessati riguardo al fatto che Termini e condizioni nuovi o rivisti sono stati pubblicati (e lo sviluppatore non li ha ancora accettati). 30, 7 e 1 giorno prima della data di inizio dei Termini e condizioni nuovi o rivisti, alle 21:00 MINT.TNC_ACCEPTANCE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Piano tariffario in scadenza Invia una notifica agli sviluppatori interessati per avvisare in anticipo che un piano tariffario sta per scadere. In esecuzione 30, 7 e 1 giorno prima della scadenza del piano tariffario, alle 21:00. MINT.EXPIRING_RATE_PLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT

Gestione della pianificazione del job di monetizzazione tramite l'API

Le seguenti sezioni descrivono come gestire la pianificazione del job di monetizzazione utilizzando l'API:

Per ulteriori informazioni sulle API descritte in questa sezione, consulta Job pianificati nell'API. riferimento.

Configurazione dei trigger

Lo scheduler si basa sui trigger per l'esecuzione dei job. Un job pianificato viene eseguito quando è associato del trigger. Le proprietà di un trigger configurano l'esecuzione del job e impostano di queste proprietà, puoi controllare le caratteristiche dell'esecuzione del job, ad esempio vengono eseguiti e con quale frequenza.

I due tipi più comuni di trigger sono cron trigger e semplici trigger. Un trigger cron ha una proprietà cronExpression che specifica un la pianificazione dell'esecuzione. Un attivatore semplice non ha una proprietà cronExpression. tu specificare startTime per indicare quando l'attivatore entra in vigore e facoltativamente il endTime.

Le proprietà dell'attivatore sono le seguenti (tutti gli orari sono nel fuso orario UTC):

Proprietà Descrizione
cronExpression Espressione cron per creare una pianificazione di esecuzione per il trigger, ad esempio: "Alle 8:00 da lunedì a venerdì" o "All'1:30 ogni ultimo venerdì del mese". Consulta Creazione di espressioni cron per ulteriori dettagli.

Se specifichi questa proprietà, il trigger viene definito come un trigger cron.

Nota: se cronExpression e startTime/endTime specificati, cronExpression ha la precedenza.

enabled Flag che indica se il trigger è abilitato per l'esecuzione. Il valore può essere uno dei seguenti le seguenti:
  • true. L'esecuzione del trigger è abilitata.
  • false. Il trigger è disabilitato e non verrà eseguito.
endTime Ora nel formato dell'epoca in cui la pianificazione dell'attivatore non è più attiva.
group Tipo di server in cui verrà eseguito il trigger. Ad esempio, se il trigger è dovrebbe essere eseguita su un server di gestione, il valore deve essere impostato su management-server. Se l'attivatore deve essere eseguito in un messaggio di elaborazione, il valore deve essere impostato su message-processor.
id Identificazione del trigger.
jobId Identificazione del job da eseguire.
name Nome univoco utilizzato per identificare il trigger.
priority Priorità di esecuzione relativa degli attivatori se è pianificata l'esecuzione di più trigger contemporaneamente. Più basso è il valore, più alta è la priorità. Ad esempio, se due trigger sono pianificati per essere eseguiti alla stessa ora e, se un trigger ha priorità 1 e altre con priorità 2, il trigger con priorità 1 viene eseguito per primo.

Questa proprietà viene applicata solo se più attivatori hanno esattamente la stessa esecuzione nel tempo.

startTime Si applica solo agli attivatori semplici.

Ora nel formato dell'epoca in cui viene applicata la pianificazione dell'attivatore.

Nota: se sia cronExpression che startTime/endTime sono specificato, cronExpression ha la precedenza.

suiteId Flag che specifica se la notifica è parte del livello di sistema o di livello predefinito suite di notifiche. I valori validi sono DEFAULT o SYSTEM oppure puoi specificare un nome di suite univoco.
triggerDataMap Chiave di blocco, custom_lock_key, che impedisce l'esecuzione di più server lo stesso job contemporaneamente.

Creazione di espressioni cron

Un'espressione cron è una stringa contenente sei o sette campi separati da uno spazio. La rappresenta un insieme di volte, solitamente come una programmazione per eseguire una routine. Cron vengono utilizzate espressioni specificate nella proprietà cronExpression di un trigger per pianificare l'esecuzione del trigger.

Un'espressione cron ha il formato seguente: s m h dm m dw y

Dove:

Campo Descrizione Obbligatorio Valori consentiti Caratteri speciali consentiti
s Secondi 0-59 , - * /
m Minuti 0-59 , - * /
h Ore 0-23 , - * /
dm Giorno del mese 0-31 , - * ? / L W
m Mese 1-12 o GEN-DEC , - * /
dw Giorno della settimana 1-7 o SUN-SAT , - * ? / N. L
y Anno No Vuoto o 1970-2099 , - * /

I caratteri speciali sono definiti come segue:

Carattere speciale Descrizione
* Utilizzato per selezionare tutti i valori all'interno di un campo. Ad esempio, * nel campo dei minuti significa ogni minuto.
? Utilizzato per specificare qualcosa in uno dei due campi in cui è consentito il carattere. ma non l'altra. Ad esempio, se vuoi che il trigger venga eseguito in un determinato giorno di mese (ad esempio il 10), ma non importa quale giorno della settimana, specifica 10 nel giorno mese e ? nel campo del giorno della settimana.
- Utilizzato per specificare gli intervalli. Ad esempio, 10-12 nel campo dell'ora indica le ore 10, 11 e 12:
, Utilizzato per specificare valori aggiuntivi. Ad esempio, LUN,MER,VEN nel campo del giorno della settimana indica i giorni lunedì, mercoledì e venerdì.
/ Utilizzato per specificare gli incrementi. Ad esempio, 0/15 nel campo dei secondi significa che i secondi sono 0, 15, 30 e 45. E 5/15 nel campo dei secondi significa i secondi 5, 20, 35 e 50. Puoi specificare anche / dopo il . Ciò equivale ad avere 0 prima della barra (/). Se specifichi 1/3 del campo del giorno del mese, l'esecuzione ogni tre giorni a partire dal primo giorno del mese.
L Ha un significato diverso in ciascuno dei due campi in cui è consentito. L nel giorno stesso mese indica l'ultimo giorno del mese, ovvero il giorno 31 per gennaio o il giorno 28 per febbraio negli anni non bisestili. Nel campo del giorno della settimana, L indica l'ultimo giorno della settimana, cioè 7 o SAT. Ma se utilizzato nel campo del giorno della settimana dopo un altro valore, significa che l'ultimo xxx giorno del mese. Ad esempio, 6L indica l'ultimo venerdì del mese.
M Utilizzato per specificare il giorno della settimana (lunedì-venerdì) più vicino al giorno specificato. Ad esempio, se specifica 15 W nel campo del giorno del mese, indica il giorno feriale più vicino al mese. Quindi, se il 15 è sabato, il trigger verrà eseguito venerdì 14. Se Il 15 è una domenica, il trigger verrà eseguito lunedì 16. Se il 15 è martedì, poi verrà eseguita martedì 15. Tuttavia, se specifichi 1 W per il giorno del mese, e il primo è sabato, il trigger verrà eseguito lunedì 3 perché "salta" oltre il limite dei giorni di un mese. Il carattere W può essere specificato solo quando questo giorno è un singolo giorno, non un intervallo o un elenco di giorni.
# Utilizzato per specificare l'ennesimo XXX giorno del mese. Ad esempio, il valore 6#3 nel giorno settimana significa il terzo venerdì del mese (giorno 6 = venerdì e #3 = il terzo in al mese). Altri esempi: 2#1 = primo lunedì del mese, 4#5 = quinto Mercoledì del mese.

Ecco alcuni esempi di espressioni cron (tutti gli orari sono nel fuso orario UTC):

Espressione cron Pianificazione dell'esecuzione
0 0 12 * * ? 12:00 (mezzogiorno) tutti i giorni.
0 15 10 * * ? 2013 10:15 tutti i giorni del 2013.
0 10,44 14 ? 3 MER 14:10 e alle 14:44 ogni mercoledì di marzo.
0 15 10 ? * 6L 2013-2015 10:15 l'ultimo venerdì di ogni mese nel corso degli anni 2013, 2014 e 2015.
0 15 10 ? * 6#3 10:15 il terzo venerdì di ogni mese.

Visualizzazione dei job pianificati utilizzando l'API

Puoi visualizzare tutti i job attualmente pianificati inviando una richiesta GET a /triggers?orgid={org_name}.

Ad esempio:

$ curl -H "Accept:application/json" -X GET \ "http://localhost:8080/v1/mint/triggers?orgid={org_name}" \ -u email:password

Di seguito viene fornito un esempio della risposta:

[ {
  "createdDate" : 1457924378176,
  "cronExpression" : "3 0 0 * * ?",
  "enabled" : true,
  "group" : "management-server",
  "id" : "MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT",
  "jobId" : "MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@management-server",
  "name" : "MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@management-server@@@DEFAULT",
  "priority" : "1",
  "suiteId" : "DEFAULT",
  "triggerDataMap" : {
    "custom_lock_key" : "mint.scheduler.__ORG_ID__.resetdeveloperrateplancounter@@@management"
  },
  "updatedDate" : 1457924378176
}, {
  "createdDate" : 1457924378014,
  "cronExpression" : "",
  "enabled" : true,
  "group" : "management-server",
  "id" : "MINT.ADHOC_NOTIFY@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT",
  "jobId" : "MINT.ADHOC_NOTIFY@@@management-server",
  "name" : "MINT.ADHOC_NOTIFY@@@management-server@@@DEFAULT",
  "priority" : "4",
  "startTime" : "1372916749000",
  "suiteId" : "DEFAULT",
  "triggerDataMap" : {
    "custom_lock_key" : "mint.scheduler.__ORG_ID__.adhocnotify@@@management"
  },
  "updatedDate" : 1457924378014
}, {
  "createdDate" : 1457924377877,
  "cronExpression" : "0 20 1 * * ?",
  "enabled" : true,
  "group" : "management-server",
  "id" : "MINT.CHARGE_DAILY@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT",
  "jobId" : "MINT.CHARGE_DAILY@@@management-server",
  "name" : "MINT.CHARGE_DAILY@@@management-server@@@DEFAULT",
  "priority" : "1",
  "suiteId" : "DEFAULT",
  "triggerDataMap" : {
    "custom_lock_key" : "mint.scheduler.__ORG_ID__.chargedaily@@@management"
  },
  "updatedDate" : 1457924377877
},
...
]

Puoi anche visualizzare un job pianificato specifico inviando una richiesta GET a /triggers/{trig_id}, dove {trig_id} è l'identificazione del job come descritto in Panoramica dei job pianificati. Ad esempio:

$ curl -X GET \ "http://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT" \ -u email:password

Di seguito viene fornito un esempio della risposta:

{
    "createdDate" : 1457924377925,
    "cronExpression" : "0 20 2 * * ?",
    "enabled" : true,
    "group" : "management-server",
    "id" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT",
    "jobId" : "MINT.RENEW_DEV_RATEPLAN@@@management-server",
    "name" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT",
    "priority" : "1",
    "suiteId" : "DEFAULT",
    "triggerDataMap" : {
        "custom_lock_key" : "mint.scheduler.__ORG_ID__.renewydevrateplan@@@management"
    },
    "updatedDate" : 1457924377925
}

Aggiornamento dei job pianificati mediante l'API

Puoi aggiornare un job pianificato modificando le proprietà del relativo trigger. Ad esempio, potrebbe essere necessario modificare la pianificazione dell'esecuzione del trigger.

Per i job cron trigger (ovvero job che includono un valore di espressione cron), puoi solo Modifica i valori di cronExpression e le proprietà attivate. Altre modifiche sono ignorato. Per i job che non specificano un valore di espressione cron, puoi modificare altre proprietà come startTime o priority.

Per aggiornare un job pianificato, invia una richiesta PUT a /triggers/{trig_id}, dove {trig_id} è l'identificazione del trigger di job, come descritto in Panoramica dei job pianificati. Quando esegui l'aggiornamento, devi specificare del corpo della richiesta, le impostazioni aggiornate e l'ID del trigger.

Ad esempio, la seguente richiesta aggiorna l'espressione cron per il nuovo piano tariffario per gli sviluppatori Job di rinnovo da eseguire ogni giorno alle 05:00 UTC:

$ curl -H "Content-Type: application/json" -X PUT -d \
 '{
    "cronExpression" : "0 0 5 * * ?",
    "enabled" : true,
    "group" : "management-server", 
    "id" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT",
    "jobId" : "MINT.RENEW_DEV_RATEPLAN@@@management-server",
    "name" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT",
    "priority" : "1",
    "suiteId" : "DEFAULT",
    "triggerDataMap" : {
        "custom_lock_key" : "mint.scheduler.__ORG_ID__.renewydevrateplan@@@management"
    },
}' \
https://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT
\
-u email:password

Disabilitazione e riattivazione di un job pianificato utilizzando l'API

Per disattivare un job pianificato, imposta il valore della proprietà enabled del relativo trigger su false. Ad esempio:

$ curl -H "Content-Type: application/json" -X PUT -d \
 '{
    "cronExpression" : "0 0 5 * * ?",
    "enabled" : false,
    "group" : "management-server",
    "id" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT",
    "jobId" : "MINT.RENEW_DEV_RATEPLAN@@@management-server",
    "name" : "MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT",
    "priority" : "1",
    "suiteId" : "DEFAULT",
    "triggerDataMap" : {
        "custom_lock_key" : "mint.scheduler.__ORG_ID__.renewydevrateplan@@@management"
    },
}' \
https://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT
\
-u email:password

Per riattivare un job disattivato, imposta il valore della proprietà enabled del relativo trigger su vero.

Passaggi successivi

È consigliabile risincronizzarsi periodicamente con la monetizzazione dell'organizzazione e di qualsiasi sviluppatori, applicazioni e prodotti creati con i servizi API Edge. Scopri come in Sincronizza Dati Apigee Edge con monetizzazione.