Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Panoramica dei job pianificati
La monetizzazione fornisce uno scheduler di job e un insieme di job pre-pianificati per essere eseguiti in orari designati.
La tabella seguente elenca i job pianificati forniti dalla monetizzazione e gli orari in cui sono programmati per l'esecuzione (tutti gli orari elencati sono in formato UTC). Viene elencato anche il trigger per ogni job.
| Job | Descrizione | Programmazione (UTC) | Trigger |
|---|---|---|---|
| Tasso di imposta mensile per gli sviluppatori | Recupera l'aliquota fiscale dal motore fiscale per ogni sviluppatore e aggiorna l'entità sviluppatore con l'aliquota fiscale rivista. | Il primo giorno di ogni mese alle 05:45 | MINT.MONTHLY_DEV_TAXRATE@@@ |
| Rinnova abbonamento | Applica commissioni ricorrenti per i piani tariffari attivi o nuove commissioni per i piani tariffari futuri che iniziano il giorno corrente. | Tutti i giorni alle 00:00:05 | MINT.RENEW_SUBSCRIPTIONS@@@ |
| XeFeed Updater | Ottiene il tasso di cambio in dollari statunitensi per ogni valuta supportata. | Tutti i giorni all'1 secondo dopo mezzanotte | MINT.XEFEED@@@ |
| Rinnova il piano tariffario per sviluppatori | Posticipa le date di rinnovo per un piano tariffario e calcola le penali per recesso anticipato. | Ogni giorno alle 02:20 | MINT.RENEW_DEV_RATEPLAN@@@ |
| Riprova il relay della transazione | Nota: questo job è stato ritirato e non ha alcun impatto sulla monetizzazione. | Ogni giorno alle 04:30 | MINT.RETRY_TX_RELAY@@@ |
| Transaction Cleanser | Nota: questo job è stato ritirato e non ha alcun impatto sulla monetizzazione. | Ogni giorno alle 05:30. | MINT.TX_CLEANSER@@@ |
| Controllo del saldo dello sviluppatore | Controlla il saldo dell'account sviluppatore. Copia l'utilizzo corrente e il saldo prepagato/il limite di credito postpagato in una tabella di controllo, quindi detrae l'utilizzo corrente dall'account sviluppatore e riporta il saldo di utilizzo a zero. | Il primo giorno di ogni mese alle ore 00:00:05 | MINT.DEVELOPER_BALANCE_AUDIT@@@ |
| Documenti di fatturazione mensile | Genera i documenti di fatturazione. Nota: Apigee non supporta più la generazione di documenti di fatturazione da Apigee Edge Monetization. Consulta la sezione Ritiri. |
L'11° giorno di ogni mese alle 00:01 | MINT.MONTLY_BILLING_DOCS@@@ |
| Contatore del piano tariffario per sviluppatori | Nota: questo job è stato ritirato e non ha alcun impatto sulla monetizzazione. | Ogni giorno alle 00:00:03 | MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@ |
| Addebiti giornalieri | Ricalcola tutti i totali orari delle transazioni e li utilizza per calcolare i totali giornalieri del giorno precedente. | Ogni giorno alle 01:20 | MINT.CHARGE_DAILY@@@ |
| Addebiti orari | Calcola tutti i totali delle transazioni per ogni quarto d'ora. | 1 minuto dopo ogni quarto d'ora | MINT.CHARGE_HOURLY@@@ |
| Aggiorna configurazione notifiche | Reindicizza tutte le condizioni di notifica. | Ogni 5 minuti | MINT.REFRESH_NOTIFICATION_CONFIG@@@ |
| Invia notifiche email | Invia notifiche email accumulate | Ogni ora | MINT.EMAIL_NOTIFICATION@@@ |
| Aggiorna limite | Nota: questo job è stato ritirato e non ha alcun impatto sulla monetizzazione. | N/A (mai eseguito) | MINT.REFRESH_LIMIT@@@ |
Oltre ai job elencati sopra, esistono job che puoi attivare tramite le notifiche di eventi, come indicato nella tabella seguente. Per ulteriori informazioni, vedi Configurare le notifiche.
| Job | Descrizione | Pianificazione | Trigger |
|---|---|---|---|
| Notifica di nuovo pacchetto | Invia una notifica a tutti gli sviluppatori per informarli che è disponibile un nuovo pacchetto API. |
Viene eseguito una volta, il giorno in cui il job viene attivato alle 21:00.
Nota: le notifiche vengono inviate una sola volta, indipendentemente dal fatto che tu
configuri un |
MINT.NEW_PACKAGE_NOTIFY@@@ |
| Nuova notifica ad hoc | Invia una notifica a tutti gli sviluppatori che nuovi prodotti API sono disponibili in mercati geografici specifici. |
Viene eseguito una volta, il giorno in cui il job viene attivato alle 21:00.
Nota: le notifiche vengono inviate una sola volta, indipendentemente dal fatto che tu
configuri un |
MINT.ADHOC_NOTIFY@@@ |
| Notifica di nuovo prodotto | Invia una notifica a tutti gli sviluppatori per informarli che è disponibile un nuovo prodotto basato su API. |
Viene eseguito una volta, il giorno in cui il job viene attivato alle 21:00.
Nota: le notifiche vengono inviate una sola volta, indipendentemente dal fatto che tu
configuri un |
MINT.NEW_PRODUCT_NOTIFY@@@ |
| Notifica nuovo piano tariffario |
Invia una notifica agli sviluppatori interessati per informarli che è disponibile un nuovo piano tariffario. Tutti gli sviluppatori abbonati al piano tariffario principale ricevono una notifica che li informa che è attivo un nuovo piano tariffario. Inoltre:
|
Viene eseguito alla data di inizio del nuovo piano tariffario, alle 04:30. | MINT.NEW_RATEPLAN_NOTIFY@@@ |
| New Tnc | Invia una notifica agli sviluppatori interessati che sono stati pubblicati Termini e condizioni nuovi o rivisti (e che non sono ancora stati accettati). | Vengono inviati 30, 7 e 1 giorno prima della data di inizio dei nuovi Termini e condizioni o di quelli rivisti, alle ore 21:00. | MINT.TNC_ACCEPTANCE_NOTIFY@@@ |
| Piano tariffario in scadenza | Invia una notifica agli sviluppatori interessati per avvisarli in anticipo che un piano tariffario sta per scadere. | Viene eseguito 30, 7 e 1 giorno prima della scadenza del piano tariffario, alle 21:00. | MINT.EXPIRING_RATE_PLAN_NOTIFY@@@ |
Gestione della pianificazione dei job di monetizzazione utilizzando l'API
Le sezioni seguenti descrivono come gestire la pianificazione dei job di monetizzazione utilizzando l'API:
- Configurare i trigger
- Creazione di espressioni cron
- Visualizzare i job pianificati utilizzando l'API
- Aggiornamento dei job pianificati utilizzando l'API
- Disattivazione e riattivazione di un job programmato utilizzando l'API
Per saperne di più sulle API descritte in questa sezione, consulta Scheduled jobs nel riferimento API.
Configurazione dei trigger
Lo scheduler si basa sui trigger per eseguire i job. Un job programmato viene eseguito quando viene attivato il trigger associato. Le proprietà di un trigger configurano l'esecuzione del job e, impostando il valore di queste proprietà, puoi controllare le caratteristiche dell'esecuzione del job, ad esempio quando e con quale frequenza viene eseguito un job.
I due tipi più comuni di attivatori sono gli attivatori cron e gli attivatori
semplici. Un trigger cron ha una proprietà cronExpression che specifica una pianificazione delle esecuzioni. Un trigger semplice non ha una proprietà cronExpression; devi
specificare startTime per indicare quando il trigger entra in vigore e
facoltativamente endTime.
Le proprietà del trigger sono le seguenti (tutti gli orari elencati sono in formato UTC):
| Proprietà | Descrizione |
|---|---|
cronExpression |
Espressione cron per creare una pianificazione delle esecuzioni per il trigger, ad esempio: "Alle 8:00
ogni lunedì, martedì, mercoledì, giovedì e venerdì" o "Alle 1:30 ogni ultimo venerdì del mese". Per ulteriori dettagli, consulta la sezione
Creazione di espressioni cron.
Se specifichi questa proprietà, il trigger viene definito come trigger cron. Nota: se vengono specificati sia |
enabled |
Flag che indica se il trigger è abilitato per l'esecuzione. Il valore può essere uno dei seguenti:
|
endTime |
Ora in formato epoch in cui la pianificazione del trigger non è più in vigore. |
group |
Tipo di server in cui verrà eseguito il trigger. Ad esempio, se il trigger
deve essere eseguito in un server di gestione, il valore deve essere impostato su
management-server. Se il trigger deve essere eseguito in un server di elaborazione dei messaggi, il valore deve essere impostato su message-processor. |
id |
Identificazione del trigger. |
jobId |
Identificazione del job da eseguire. |
name |
Nome univoco utilizzato per identificare l'attivatore. |
priority |
Priorità di esecuzione relativa dei trigger se sono pianificati più trigger da eseguire
contemporaneamente. Più basso è il valore, maggiore è la priorità. Ad esempio, se due trigger
sono pianificati per l'esecuzione contemporanea e se un trigger ha priorità 1 e l'altro
priorità 2, il trigger con priorità 1 viene eseguito per primo.
Questa proprietà si applica solo se più trigger hanno esattamente lo stesso orario di esecuzione. |
startTime |
Si applica solo ai trigger semplici.
Ora in formato epoca in cui entra in vigore la pianificazione del trigger. Nota: se
sono specificati sia |
suiteId |
Flag che specifica se la notifica fa parte della suite di notifiche a livello di sistema o predefinita. I valori validi sono DEFAULT o SYSTEM oppure
puoi specificare il nome univoco della tua suite. |
triggerDataMap |
Chiave di blocco, custom_lock_key, che impedisce a più server di eseguire
lo stesso job contemporaneamente. |
Creazione di espressioni cron
Un'espressione cron è una stringa composta da sei o sette campi separati da spazi vuoti. L'espressione
rappresenta un insieme di orari, in genere come pianificazione per eseguire una routine. Le espressioni cron specificate nella proprietà cronExpression di un attivatore vengono utilizzate per pianificare l'esecuzione dell'attivatore.
s
m h dm m dw y
Dove:
| Campo | Descrizione | Obbligatorio | Valori consentiti | Caratteri speciali consentiti |
|---|---|---|---|---|
s |
Secondi | Sì | 0-59 | , - * / |
m |
Minuti | Sì | 0-59 | , - * / |
h |
Ore | Sì | 0-23 | , - * / |
dm |
Giorno del mese | Sì | 0-31 | , - * ? / L W |
m |
Mese | Sì | 1-12 o JAN-DEC | , - * / |
dw |
Giorno della settimana | Sì | 1-7 o SUN-SAT | , - * ? / 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 il carattere è consentito, ma non nell'altro. Ad esempio, se vuoi che il trigger venga eseguito in un determinato giorno del mese (ad esempio il 10), ma non ti interessa il giorno della settimana, specifica 10 nel campo del giorno del mese e ? nel campo 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, MON,WED,FRI 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 indica i secondi 0, 15, 30 e 45. 5/15 nel campo dei secondi indica i secondi 5, 20, 35 e 50. Puoi anche specificare / dopo il carattere ". In questo modo è come se ci fosse uno 0 prima della barra. Se specifichi 1/3 nel campo Giorno del mese, l'esecuzione avviene ogni 3 giorni a partire dal primo giorno del mese. |
| L | Ha un significato diverso in ciascuno dei due campi in cui è consentito. L nel campo del giorno del 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, ovvero 7 o SAB. Se utilizzato nel campo del giorno della settimana dopo un altro valore, indica l'ultimo giorno xxx del mese. Ad esempio, 6L indica l'ultimo venerdì del mese. |
| M | Utilizzato per specificare il giorno feriale (da lunedì a venerdì) più vicino al giorno indicato. Ad esempio, se specifichi 15W nel campo del giorno del mese, significa il giorno feriale più vicino al 15 del mese. Quindi, se il 15 è un sabato, il trigger verrà eseguito venerdì 14. Se il 15 è una domenica, il trigger verrà eseguito lunedì 16. Se il 15 è un martedì, il pagamento verrà eseguito martedì 15. Tuttavia, se specifichi 1W per il giorno del mese, e il 1° è un sabato, il trigger verrà eseguito lunedì 3 perché non "salterà" oltre il limite dei giorni di un mese. Il carattere W può essere specificato solo quando il giorno del mese è un singolo giorno, non un intervallo o un elenco di giorni. |
| # | Utilizzata per specificare l'ennesimo giorno XXX del mese. Ad esempio, il valore 6#3 nel campo giorno della settimana indica il terzo venerdì del mese (giorno 6 = venerdì e #3 = il terzo del mese). Altri esempi: 2#1 = il primo lunedì del mese, 4#5 = il quinto mercoledì del mese. |
Ecco alcuni esempi di espressioni cron (tutti gli orari elencati sono in UTC):
| Espressione cron | Pianificazione delle esecuzioni |
|---|---|
| 0 0 12 * * ? | Alle 12:00 (mezzogiorno) ogni giorno. |
| 0 15 10 * * ? 2013 | Alle 10:15 ogni giorno dell'anno 2013. |
| 0 10,44 14 ? 3 MER | Alle 14:10 e alle 14:44 ogni mercoledì del mese di marzo. |
| 0 15 10 ? * 6L 2013-2015 | Ore 10:15 dell'ultimo venerdì di ogni mese negli anni 2013, 2014 e 2015. |
| 0 15 10 ? * 6#3 | Alle 10:15 del 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 è riportato un esempio di 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 programmato specifico inviando una richiesta GET a
/triggers/{trig_id}, dove {trig_id} è l'identificazione del trigger del job, come descritto in Panoramica dei job programmati. 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 è riportato un esempio di 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 utilizzando l'API
Puoi aggiornare un job programmato modificando le proprietà del relativo trigger. Ad esempio, potresti dover modificare la pianificazione dell'esecuzione del trigger.
Per i job di attivazione cron (ovvero i job che includono un valore di espressione cron), puoi modificare solo i valori delle proprietà cronExpression e enabled. Le altre modifiche vengono ignorate. Per i job che non specificano un valore di espressione cron, puoi modificare altre proprietà
come startTime o priority.
Per aggiornare un job programmato, invia una richiesta PUT a /triggers/{trig_id}, dove
{trig_id} è l'identificazione del trigger del job, come descritto in Panoramica dei job programmati. Quando esegui l'aggiornamento, devi specificare nel corpo della richiesta le impostazioni aggiornate e l'ID del trigger.
Ad esempio, la seguente richiesta aggiorna l'espressione cron per il job di rinnovo del piano tariffario per i nuovi sviluppatori in modo che venga eseguito 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
Disattivazione e riattivazione di un job programmato utilizzando l'API
Per disabilitare un job programmato, 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
true.
Passaggi successivi
Ti consigliamo di eseguire periodicamente una nuova sincronizzazione con la monetizzazione della tua organizzazione e di tutti gli sviluppatori, le applicazioni e i prodotti che hai creato utilizzando Edge API Services. Scopri come in Sincronizzare i dati di Apigee Edge con la monetizzazione.