Planifier des tâches de monétisation

<ph type="x-smartling-placeholder"></ph> Vous consultez la documentation Apigee Edge.
Accédez à la page Documentation sur Apigee X.
En savoir plus

Présentation des jobs planifiés

La monétisation fournit un planificateur de jobs et un ensemble de jobs préprogrammés pour s'exécuter à à l'heure indiquée.

Le tableau ci-dessous liste les missions préprogrammées fournies par la monétisation et les heures auxquelles elles sont (toutes les heures indiquées sont exprimées en temps UTC). Le déclencheur pour chaque tâche est également indiqué.

Tâche Description Planification (UTC) Déclencheur
Taux mensuel de la taxe pour les développeurs Extrait le taux de taxe auprès du moteur fiscal de chaque développeur et le met à jour. entité avec le taux de taxe révisé. Premier jour de chaque mois à 5h45 MINT.MONTHLY_DEV_TAXRATE@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Renouveler l'abonnement Applique des frais récurrents pour les plans tarifaires actifs ou de nouveaux frais pour les plans tarifaires futurs qui le jour même. Tous les jours à 5 secondes après minuit MINT.RENEW_SUBSCRIPTIONS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Outil de mise à jour XeFeed Récupère le taux de change en dollars américains pour chaque devise acceptée. Tous les jours à une seconde après minuit MINT.XEFEED@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Renouveler le forfait développeur Reporte les dates de renouvellement d'un plan tarifaire et calcule les frais de résiliation anticipée. Tous les jours à 2h20 MINT.RENEW_DEV_RATEPLAN@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Réessayer le relais de transaction Remarque: Cette tâche est obsolète et n'a aucune incidence sur la monétisation. Tous les jours à 4h30 MINT.RETRY_TX_RELAY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Nettoyant de transactions Remarque: Cette tâche est obsolète et n'a aucune incidence sur la monétisation. Tous les jours à 5h30 MINT.TX_CLEANSER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Audit du solde des comptes développeur Effectue un audit du solde du compte de développeur. Copie l'utilisation actuelle et les données prépayées limite de crédit/post-payée dans une table d'audit, puis déduit l'utilisation actuelle développeur Google Cloud et remet le solde d'utilisation à zéro. Premier jour de chaque mois cinq secondes après minuit MINT.DEVELOPER_BALANCE_AUDIT@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Documentation sur la facturation mensuelle Génère des documents de facturation.

Remarque:Apigee n'est plus compatible avec la génération de documents de facturation à partir de la monétisation Apigee Edge. Consultez la section Retraits.

Le 11 de chaque mois à une minute après minuit MINT.MONTLY_BILLING_DOCS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Compteur du plan tarifaire pour les développeurs Remarque: Cette tâche est obsolète et n'a aucune incidence sur la monétisation. Tous les jours à 3 secondes après minuit MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Frais quotidiens Il recalcule tous les totaux de transactions horaires et les utilise pour calculer les totaux quotidiens pour les jour précédent. Tous les jours à 1h20 MINT.CHARGE_DAILY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Frais horaires Calcule le total des transactions pour chaque quart d'heure. 1 minute après chaque quart d'heure MINT.CHARGE_HOURLY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Actualiser la configuration des notifications Réindexe toutes les conditions de notification. Toutes les 5 minutes MINT.REFRESH_NOTIFICATION_CONFIG@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
Envoyer des notifications par e-mail Envoie des notifications par e-mail accumulées Toutes les heures MINT.EMAIL_NOTIFICATION@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
Limite d'actualisation Remarque: Cette tâche est obsolète et n'a aucune incidence sur la monétisation. N/A (ne s'exécute jamais) MINT.REFRESH_LIMIT@@@
message-processor@@@SYSTEM@@@
message-processor@@@SYSTEM

En plus des jobs listés ci-dessus, vous pouvez activer des jobs via des événements des notifications, comme indiqué dans le tableau suivant. Pour en savoir plus, consultez Configurer les notifications.

Job Description Programmer Déclencheur
Notification de nouveau colis Envoie une notification à tous les développeurs pour les informer qu'un nouveau package d'API est disponible. S'exécute une fois:le jour où le job est activé à 21h

Remarque: Les notifications ne sont envoyées qu'une seule fois, que vous passiez ou non configurer un cronExpression qui entraîne l'exécution de la tâche plusieurs fois fois.

MINT.NEW_PACKAGE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Nouvelle notification ponctuelle Envoie une notification à tous les développeurs indiquant que de nouveaux produits d'API sont disponibles dans des marchés géographiques. S'exécute une fois:le jour où le job est activé à 21h

Remarque: Les notifications ne sont envoyées qu'une seule fois, que vous passiez ou non configurer un cronExpression qui entraîne l'exécution de la tâche plusieurs fois fois.

MINT.ADHOC_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Notification de nouveau produit Envoie une notification à tous les développeurs pour les informer qu'un nouveau produit d'API est disponible. S'exécute une fois:le jour où le job est activé à 21h

Remarque: Les notifications ne sont envoyées qu'une seule fois, que vous passiez ou non configurer un cronExpression qui entraîne l'exécution de la tâche plusieurs fois fois.

MINT.NEW_PRODUCT_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Notification de nouveau plan tarifaire

Envoie une notification aux développeurs concernés pour les informer qu'un nouveau plan tarifaire est disponible. Tout les développeurs abonnés au plan tarifaire parent sont informés qu'un nouveau plan tarifaire actif.

Notez en outre les points suivants :

  • S'il s'agit d'un forfait standard, tous les développeurs en seront informés.
  • S'il s'agit d'un forfait pour la catégorie développeur, seuls les développeurs appartenant à cette catégorie notifiée.
  • S'il s'agit d'un forfait pour les développeurs, seul ce développeur spécifique bénéficiera notifiée.
S'exécute à la date de début du nouveau plan tarifaire, à 4h30 MINT.NEW_RATEPLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Nouvelle tnc Envoie une notification aux développeurs concernés pour les nouvelles ou les modifications des conditions d'utilisation ont été publiés (et que le développeur ne les a pas encore acceptées). Exécution 30, 7 et 1 jour avant la date de début des conditions d'utilisation nouvelles ou révisées à 21:00 MINT.TNC_ACCEPTANCE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Plan tarifaire arrivant à expiration Envoie une notification aux développeurs concernés pour les prévenir qu'un plan tarifaire va expirer. Exécution 30, 7 et 1 jour avant l'expiration du plan tarifaire, à 21h MINT.EXPIRING_RATE_PLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT

Gérer le calendrier des tâches de monétisation à l'aide de l'API

Les sections suivantes décrivent comment gérer le calendrier des tâches de monétisation à l'aide de l'API:

Pour en savoir plus sur les API décrites dans cette section, consultez Tâches planifiées dans l'API. référence.

Configurer les déclencheurs

L'ordonnanceur s'appuie sur des déclencheurs pour exécuter des jobs. Un job planifié s'exécute lorsqu'il est associé du déclencheur s'exécute. Les propriétés d'un déclencheur configurent l'exécution du job et, en définissant le paramètre valeur de ces propriétés, vous pouvez contrôler les caractéristiques d'exécution du job, par exemple lorsqu'un job exécute et à quelle fréquence.

Les deux types de déclencheurs les plus courants sont les déclencheurs Cron et les déclencheurs simples déclencheurs. Un déclencheur Cron possède une propriété cronExpression qui spécifie une du calendrier d'exécution. Un déclencheur simple ne possède pas de propriété cronExpression. vous spécifier startTime pour indiquer à quel moment le déclencheur entre en vigueur ; et éventuellement endTime.

Les propriétés du déclencheur sont les suivantes (toutes les heures indiquées sont exprimées en temps UTC):

Propriété Description
cronExpression Expression Cron permettant de créer un calendrier d'exécution pour le déclencheur, par exemple : "À 8:00 A.M. tous les lundis au vendredis." ou "À 1 h 30 du matin tous les derniers vendredis du mois". Voir Consultez la section Créer des expressions Cron pour en savoir plus.

Cette propriété définit le déclencheur en tant que déclencheur Cron.

Remarque: Si cronExpression et startTime/endTime sont spécifiés, cronExpression est prioritaire.

enabled Indicateur qui indique si l'exécution du déclencheur est activée. Cette valeur peut être l'une des suivantes : les éléments suivants: <ph type="x-smartling-placeholder">
    </ph>
  • true L'exécution du déclencheur est activée.
  • false. Le déclencheur est désactivé. Il ne s'exécutera pas.
endTime Heure au format epoch lorsque la planification du déclencheur n'est plus appliquée.
group Type de serveur sur lequel le déclencheur s'exécutera. Par exemple, si le déclencheur est censé s'exécuter sur un serveur de gestion, la valeur doit être définie sur management-server Si le déclencheur est censé s'exécuter dans un message serveur de traitement, la valeur doit être définie sur message-processor.
id Identification du déclencheur.
jobId Identification de la tâche à exécuter.
name Nom unique permettant d'identifier le déclencheur.
priority Priorité d'exécution relative des déclencheurs si l'exécution de plusieurs déclencheurs est planifiée en même temps. Plus la valeur est faible, plus la priorité est élevée. Par exemple, si deux déclencheurs sont programmés pour s'exécuter en même temps, et si l'un des déclencheurs a la priorité 1 et que ou une priorité de 2, le déclencheur de priorité 1 s'exécute en premier.

Cette propriété ne s'applique que si plusieurs déclencheurs ont exactement la même exécution en temps réel.

startTime S'applique uniquement aux déclencheurs simples.

Heure au format epoch lors de l'entrée en vigueur de la planification du déclencheur.

Remarque: Si cronExpression et startTime/endTime sont tous les deux spécifié, cronExpression est prioritaire.

suiteId Indicateur spécifiant si la partie notification du niveau système ou au niveau par défaut une suite de notifications. Les valeurs valides sont DEFAULT ou SYSTEM, ou vous pouvez indiquer un nom de suite unique.
triggerDataMap Clé de verrouillage, custom_lock_key, qui empêche l'exécution de plusieurs serveurs la même tâche au même moment.

Créer des expressions Cron

Une expression Cron est une chaîne composée de six ou sept champs séparés par un espace. La représente un ensemble de durées, généralement sous la forme d'une programmation d'exécution d'une routine. cron Les expressions spécifiées dans la propriété cronExpression d'un déclencheur sont utilisées pour planifier l'exécution de ce déclencheur.

Une expression Cron a le format suivant: s m h dm m dw y

Où :

Champ Description Obligatoire Valeurs autorisées Caractères spéciaux autorisés
s Secondes Oui 0-59 , - * /
m Minutes Oui 0-59 , - * /
h Heures Oui 0-23 , - * /
dm Jour du mois Oui 0-31 , - * ? / L W
m Mois Oui 1-12 ou JAN-DEC , - * /
dw Jour de la semaine Oui 1-7 ou SUN-SAT , - * ? / L #
y Année Non Vide ou 1970-2099 , - * /

Les caractères spéciaux sont définis comme suit:

Caractère spécial Description
* Permet de sélectionner toutes les valeurs d'un champ. Par exemple, * dans le champ des minutes signifie chaque minute.
? Utilisé pour spécifier quelque chose dans l'un des deux champs dans lesquels le caractère est autorisé, mais pas l'autre. Par exemple, si vous souhaitez que le déclencheur s'exécute un jour donné le mois (le 10, par exemple), mais que le jour de la semaine importe peu, indiquez 10 dans champ « months » et « ? dans le champ du jour de la semaine.
- Permet de spécifier des plages. Par exemple, 10-12 dans le champ heure signifie les heures 10, 11 et 12.
, Permet de spécifier des valeurs supplémentaires. Exemple : MON,WED,VEN dans le champ du jour de la semaine. correspond aux jours lundi, mercredi et vendredi.
/ Permet de spécifier des incréments. Par exemple, 0/15 dans le champ des secondes signifie les secondes 0, 15, 30 et 45. Et 5/15 dans le champ des secondes correspond aux secondes 5, 20, 35 et 50. Vous pouvez spécifiez également / après le " . Cela revient à ajouter 0 avant /. Si vous indiquez 1/3 dans le champ du jour du mois, la requête sera exécutée tous les 3 jours jour du mois.
L a une signification différente dans chacun des deux champs pour lesquels elle est autorisée ; L le jour de mois signifie le dernier jour du mois, c'est-à-dire le jour 31 pour janvier, ou le jour 28 pour février les années non bissextiles. Dans le champ jour de la semaine, L signifie le dernier jour de la semaine, c’est-à-dire 7 ou SAT. Mais s'il est utilisé dans le champ du jour de la semaine après une autre valeur, cela signifie que le dernier jour du mois. Par exemple, 6L correspond au dernier vendredi du mois.
W Permet de spécifier le jour de la semaine (du lundi au vendredi) le plus proche du jour donné. Par exemple, si vous spécifie 15W dans le champ du jour du mois, cela signifie que le jour de la semaine le plus proche du 15 mois. Ainsi, si le 15 est un samedi, le déclencheur s'exécutera le vendredi 14. Si le Le 15 est un dimanche, et le déclencheur s'exécutera le lundi 16. Si le 15 est un mardi, elle s'exécutera mardi 15. Cependant, si vous spécifiez 1W pour le jour du mois, et que le 1er est un samedi, le déclencheur s'exécutera le lundi 3, car il ne "sauter" sur la limite des jours d'un mois. Le caractère W ne peut être spécifié que lorsque le jour du mois est un jour unique, et non une plage de jours ou une liste de jours.
# Permet de spécifier le jour XXX du mois. Par exemple, la valeur 6#3 le jour champ week signifie le troisième vendredi du mois (jour 6 = vendredi et n° 3 = le 3e au cours du mois). Autres exemples: 2#1 = le premier lundi du mois, 4#5 = le cinquième Mercredi du mois

Voici quelques exemples d'expressions Cron (toutes les heures indiquées sont exprimées en temps UTC):

Expression Cron Calendrier d'exécution
0 0 12 * * ? 12:00 (midi) tous les jours.
0 15 10 * * ? 2013 10h15 tous les jours de l’année 2013.
0 10,44 14 ? 3 MER. 14:10 et à 14h44 tous les mercredis du mois de mars.
0 15 10 ? * 6L 2013-2015 10h15 le dernier vendredi de chaque mois des années 2013, 2014 et 2015.
0 15 10 ? * 6#3 10h15 le troisième vendredi de chaque mois.

Afficher les jobs planifiés à l'aide de l'API

Vous pouvez afficher toutes les tâches actuellement planifiées en envoyant une demande GET à /triggers?orgid={org_name}

Exemple :

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

Voici un exemple de réponse :

[ {
  "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
},
...
]

Vous pouvez également afficher une tâche planifiée spécifique en envoyant une demande GET à /triggers/{trig_id}, où {trig_id} est l'identification de la tâche. comme décrit dans la section Présentation des jobs planifiés. Exemple :

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

Voici un exemple de réponse :

{
    "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
}

Mettre à jour des jobs planifiés à l'aide de l'API

Vous pouvez mettre à jour une tâche planifiée en modifiant les propriétés de son déclencheur. Par exemple : vous devrez peut-être modifier le calendrier d'exécution du déclencheur.

Pour les tâches de déclencheur Cron (c'est-à-dire les tâches qui incluent une valeur d'expression Cron), vous ne pouvez modifier les valeurs de cronExpression et les propriétés activées. Les autres modifications sont sont ignorées. Pour les tâches qui ne spécifient pas de valeur d'expression Cron, vous pouvez modifier d'autres propriétés comme startTime ou priority.

Pour mettre à jour une tâche planifiée, envoyez une requête PUT à /triggers/{trig_id}, où {trig_id} est l'identification du déclencheur de tâche, comme décrit dans la présentation des tâches planifiées. Lorsque vous effectuez la mise à jour, vous devez spécifier dans dans le corps de la requête, les paramètres mis à jour et l'ID du déclencheur.

Par exemple, la requête suivante met à jour l'expression Cron pour le nouveau plan tarifaire pour les développeurs Tâche de renouvellement à exécuter tous les jours à 5h 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

Désactiver et réactiver une tâche planifiée à l'aide de l'API

Pour désactiver une tâche planifiée, définissez la valeur de la propriété enabled de son déclencheur sur "false". Exemple :

$ 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

Pour réactiver une tâche désactivée, définissez la valeur de la propriété enabled de son déclencheur sur "true".

Étapes suivantes

Il est conseillé de resynchroniser régulièrement les paramètres de monétisation développeurs, applications et produits que vous avez créés à l'aide des services d'API Edge. Découvrez comment faire dans Synchroniser Données Apigee Edge avec monétisation