Programa trabajos de monetización

Estás viendo la documentación de Apigee Edge.
Ve a la Documentación de Apigee X.
información

Descripción general de los trabajos programados

La monetización ofrece un programador de trabajos y un conjunto de trabajos programados previamente para ejecutarse horarios designados.

En la siguiente tabla, se enumeran los trabajos programados previamente que proporciona la monetización y el momento en que se cumplen programada para ejecutarse (todas las horas indicadas están en UTC). También se enumera el activador para cada trabajo.

Job Descripción Programa (UTC) Activador
Tasa tributaria mensual del desarrollador Recupera la tasa impositiva del motor fiscal para cada desarrollador y lo actualiza. con la tasa impositiva revisada. Primer día de cada mes a las 5:45 a.m. MINT.MONTHLY_DEV_TAXRATE@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Renovar la suscripción Aplica tarifas recurrentes para los planes de tarifas activos o tarifas nuevas para planes de tarifas futuros que comiencen el día actual. Todos los días 5 segundos después de la medianoche MINT.RENEW_SUBSCRIPTIONS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Actualizador XeFeed Obtiene el tipo de cambio en dólares estadounidenses para cada moneda admitida. Todos los días 1 segundo después de la medianoche MINT.XEFEED@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Renovar el plan de tarifas para desarrolladores Se traspasan las fechas de renovación de un plan de tarifas y se calculan las tarifas por rescisión anticipada. Todos los días a las 2:20 a.m. MINT.RENEW_DEV_RATEPLAN@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Reintentar retransmisión de transacción Nota: Este trabajo dejó de estar disponible y no tiene ningún impacto en monetización. Todos los días a las 4:30 a.m. MINT.RETRY_TX_RELAY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Limpiador de transacciones Nota: Este trabajo dejó de estar disponible y no tiene ningún impacto en monetización. Todos los días a las 5:30 a.m. MINT.TX_CLEANSER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Auditoría del saldo del desarrollador Audita el saldo de la cuenta de desarrollador. Copia el uso actual y los datos de prepago saldo o límite de crédito pospago a una tabla de auditoría, luego deduce el uso actual de la de desarrollador y devuelve el saldo de uso a cero. Primer día de cada mes 5 segundos después de la medianoche MINT.DEVELOPER_BALANCE_AUDIT@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Documentos de facturación mensual Genera documentos de facturación.

Nota: Apigee ya no admite la generación de documentos de facturación a partir de la monetización de Apigee Edge. Consulta Jubilaciones.

El día 11 de cada mes 1 minuto después de la medianoche MINT.MONTLY_BILLING_DOCS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Contador del plan de tarifas para desarrolladores Nota: Este trabajo dejó de estar disponible y no tiene ningún impacto en monetización. Todos los días 3 segundos después de la medianoche MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Cargos diarios Vuelve a calcular todos los totales de transacciones por hora y los usa para calcular los totales diarios de día anterior. Todos los días a la 1:20 a.m. MINT.CHARGE_DAILY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Cargos por hora Calcula todos los totales de transacciones para cada trimestre de una hora. 1 minuto después de cada cuarto de hora MINT.CHARGE_HOURLY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Actualizar configuración de notificaciones Vuelve a indexar todas las condiciones de notificación. Cada 5 minutos MINT.REFRESH_NOTIFICATION_CONFIG@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
Enviar notificaciones por correo electrónico Envía notificaciones por correo electrónico acumuladas Cada 1 hora MINT.EMAIL_NOTIFICATION@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
Límite de actualizaciones Nota: Este trabajo dejó de estar disponible y no tiene ningún impacto en monetización. N/A (nunca se ejecuta) MINT.REFRESH_LIMIT@@@
message-processor@@@SYSTEM@@@
message-processor@@@SYSTEM

Además de los trabajos mencionados anteriormente, hay trabajos que puedes habilitar a través de eventos notificaciones, tal como se muestra en la siguiente tabla. Para obtener más información, consulta Cómo configurar las notificaciones.

Trabajo Descripción Programar Activador
Notificación de paquete nuevo Envía una notificación a todos los desarrolladores sobre un nuevo paquete de API disponible. Se ejecuta una vez: el día en que el trabajo se habilita a las 9:00 p.m.

Nota: Las notificaciones se envían solo una vez, independientemente de si configurar un cronExpression que dé como resultado que el trabajo se ejecute varias veces.

MINT.NEW_PACKAGE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Nueva notificación ad hoc Envía una notificación a todos los desarrolladores cuando hay nuevos productos de API disponibles en en los mercados geográficos. Se ejecuta una vez: el día en que el trabajo se habilita a las 9:00 p.m.

Nota: Las notificaciones se envían solo una vez, independientemente de si configurar un cronExpression que dé como resultado que el trabajo se ejecute varias veces.

MINT.ADHOC_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Notificación sobre producto nuevo Envía una notificación a todos los desarrolladores sobre un nuevo producto de API disponible. Se ejecuta una vez: el día en que el trabajo se habilita a las 9:00 p.m.

Nota: Las notificaciones se envían solo una vez, independientemente de si configurar un cronExpression que dé como resultado que el trabajo se ejecute varias veces.

MINT.NEW_PRODUCT_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Notificación del nuevo plan de tarifas

Envía una notificación a los desarrolladores afectados sobre el nuevo plan de tarifas. Todo se notifica a los desarrolladores que están suscritos al plan de tarifas superior que se les asigna activo.

Además, tenga en cuenta lo siguiente:

  • Si el plan de tarifas es estándar, todos los desarrolladores recibirán una notificación.
  • Si es un plan de tarifas de categoría de desarrollador, solo los desarrolladores de esa categoría obtendrán notificaciones.
  • Si es un plan de tarifas para desarrolladores, solo ese desarrollador específico recibirá los siguientes beneficios: notificaciones.
Se ejecuta en la fecha de inicio del nuevo plan de tarifas, a las 4:30 a.m. MINT.NEW_RATEPLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Tnc nuevo Se envía una notificación a los desarrolladores afectados sobre los Términos y Condiciones nuevos o modificados. se publicaron (y el desarrollador aún no los acepta). Se ejecuta 30, 7 y 1 día antes de la fecha de inicio de los Términos y Condiciones nuevos o revisados. a las 9:00 p.m. MINT.TNC_ACCEPTANCE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
Plan de tarifas por vencer Envía una notificación a los desarrolladores afectados para que les adviertan con anticipación que un plan de tarifas. va a vencer. Se ejecuta 30, 7 y 1 día antes del vencimiento del plan de tarifas, a las 9:00 p.m. MINT.EXPIRING_RATE_PLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT

Administra la programación del trabajo de monetización mediante la API

En las siguientes secciones, se describe cómo administrar la programación del trabajo de monetización mediante la API:

Para obtener más información sobre las APIs que se describen en esta sección, consulta Trabajos programados en la API referencia.

Configura activadores

El programador se basa en activadores para ejecutar trabajos. Una tarea programada se ejecuta cuando se se ejecuta un activador. Las propiedades de un activador configuran la ejecución del trabajo y establecen la de estas propiedades, puedes controlar las características de la ejecución del trabajo, como cuándo se y con qué frecuencia.

Los dos tipos de activadores más comunes son los activadores cron y los activadores simples. activadores. Un activador cron tiene una propiedad cronExpression que especifica un el cronograma de ejecución. Un activador simple no tiene una propiedad cronExpression. tú especificar el startTime para indicar cuándo entra en vigor el activador Opcionalmente, endTime.

Las propiedades del activador son las siguientes (todas las horas indicadas están en UTC):

Propiedad Descripción
cronExpression Expresión cron para crear un programa de ejecución para el activador, por ejemplo: “A las 8:00 a.m. de lunes a viernes" o "A la 1:30 a.m. cada último viernes del mes". Consulta Cómo compilar expresiones cron para obtener más detalles.

Cuando especificas esta propiedad, se define el activador como un activador cron.

Nota: Si tanto cronExpression como startTime/endTime, cronExpression tiene prioridad.

enabled Marca que indica si el activador está habilitado para ejecutarse. El valor puede ser uno de lo siguiente:
  • true El activador está habilitado para ejecutarse.
  • false. El activador está inhabilitado, por lo que no se ejecutará.
endTime Es la hora en formato de época cuando el programa del activador ya no está vigente.
group El tipo de servidor en el que se ejecutará el activador. Por ejemplo, si el activador es debe ejecutarse en un servidor de administración, el valor debe ser management-server Si el activador debería ejecutarse en un mensaje del servidor de procesamiento, el valor se debe establecer en message-processor.
id Identificación del activador.
jobId La identificación del trabajo que se ejecutará.
name Nombre único que se usa para identificar el activador.
priority Prioridad de ejecución relativa de los activadores si varios activadores están programados para ejecutarse al mismo tiempo. Cuanto más bajo sea el valor, más alta será la prioridad. Por ejemplo, si dos activadores están programados para ejecutarse al mismo tiempo y, si un activador tiene una prioridad de 1 y el a la otra con una prioridad de 2, se ejecuta primero el activador con prioridad 1.

Esta propiedad se aplica solo si varios activadores tienen exactamente la misma ejecución tiempo.

startTime Solo se aplica a activadores simples.

Hora en formato de época cuando el programa del activador entra en vigor.

Nota: Si tanto cronExpression como startTime/endTime son especificado, cronExpression tiene prioridad.

suiteId Marca que especifica si la notificación es del nivel del sistema o el predeterminado paquete de notificaciones. Los valores válidos son DEFAULT o SYSTEM. puedes especificar tu propio nombre único de suite.
triggerDataMap Clave de bloqueo, custom_lock_key, que impide que se ejecuten varios servidores el mismo trabajo y al mismo tiempo.

Cómo compilar expresiones cron

Una expresión cron es una cadena que consta de seis o siete campos separados por espacios en blanco. El representa un conjunto de horas, normalmente como un programa para ejecutar una rutina. Cron se usan expresiones que se especifican en la propiedad cronExpression de un activador para programar la ejecución de ese activador.

Una expresión cron tiene el siguiente formato: s m h dm m dw y

Aquí:

Campo Descripción Obligatorio Valores permitidos Caracteres especiales permitidos
s Segundos 0-59 , - * /
m Minutos 0-59 , - * /
h Horas 0-23 , - * /
dm Día del mes 0-31 , - * ? / L W
m Mes 1-12 o ENE-DIC , - * /
dw Día de la semana 1-7 o DOM-SAT , - * ? / l #
y Año No Vacío o 1970-2099 , - * /

Los caracteres especiales se definen de la siguiente manera:

Carácter especial Descripción
* Se usa para seleccionar todos los valores dentro de un campo. Por ejemplo, * en el campo de minutos significa cada minuto.
? Se usa para especificar algo en uno de los dos campos en los que está permitido el carácter. pero no al otro. Por ejemplo, si quieres que el activador se ejecute un día específico del el mes (por ejemplo, el 10), pero no le importa qué día de la semana, especifique 10 en el día de mes y ? en el campo del día de la semana.
- Se usa para especificar rangos. Por ejemplo, 10-12 en el campo de hora significa que las horas 10, 11 y
, Se usa para especificar valores adicionales. Por ejemplo, LUN,MIÉ,VIE, en el campo del día de la semana los días lunes, miércoles y viernes.
/ Se usa para especificar incrementos. Por ejemplo, 0/15 en el campo de segundos significa 0 en segundos, 15, 30 y 45. Y 5/15 en el campo de segundos significa los segundos 5, 20, 35 y 50. Puedes también especifica / después del símbolo " carácter. Esto equivale a tener 0 antes de la /. Especificar 1/3 en el campo del día del mes significa que se ejecuta cada 3 días a partir del primer día. día del mes.
L Tiene un significado diferente en cada uno de los dos campos en los que está permitido. L en el día de mes significa el último día del mes, es decir, el día 31 para enero o el día 28 para febrero en años no bisiestos. En el campo del día de la semana, L significa el último día de la semana, es decir, 7 o SAT. Pero si se usa en el campo del día de la semana después de otro valor, significa que el último día xxx del mes. Por ejemplo, 6L significa el último viernes del mes.
W Se usa para especificar el día de la semana (de lunes a viernes) más cercano al día. Por ejemplo, si especifica 15 W en el campo del día del mes, que significa el día de la semana más cercano al día 15 de la mes. Por lo tanto, si el día 15 es sábado, el activador se ejecutará el viernes 14. Si el botón El día 15 es domingo, y el activador se ejecutará el lunes 16. Si el día 15 es un martes, y se ejecutará el martes 15. Sin embargo, si especificas 1 W para el día del mes, y el día 1 es sábado, el activador se ejecutará el lunes 3 porque no "saltar" sobre el límite de días de un mes. El carácter W solo puede especificarse cuando el día del mes es un solo día, no un rango o una lista de días.
# Se usa para especificar el enésimo día XXX del mes. Por ejemplo, el valor 6#3 en el día de El campo de semana significa el tercer viernes del mes (día 6 = viernes y n.o 3 = el 3er viernes de el mes). Otros ejemplos: 2#1 = el primer lunes del mes, 4#5 = el quinto Miércoles del mes

Estos son algunos ejemplos de expresiones cron (todas las horas indicadas están en UTC):

Expresión cron Programa de ejecución
0 0 12 * * ? 12:00 p.m. mediodía) todos los días.
0 15 10 * * ? 2013 10:15 a.m. todos los días del año 2013.
0 10,44 14 ? 3 MIÉ 2:10 p.m. y a las 2:44 p.m. todos los miércoles de marzo.
0 15 10 ? * 6L 2013-2015 10:15 a.m. el último viernes de cada mes durante los años 2013, 2014 y 2015.
0 15 10 ? * 6 n.o 3 10:15 a.m. el tercer viernes de cada mes.

Visualiza los trabajos programados con la API

Puedes ver todos los trabajos programados actualmente si envías una solicitud GET a /triggers?orgid={org_name}

Por ejemplo:

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

A continuación, se proporciona un ejemplo de la respuesta.

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

También puedes ver un trabajo programado específico si envías una solicitud GET a /triggers/{trig_id}, en la que {trig_id} es la identificación del trabajo activador, como se describe en Descripción general de los trabajos programados. Por ejemplo:

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

A continuación, se proporciona un ejemplo de la respuesta.

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

Actualiza trabajos programados con la API

Puedes actualizar un trabajo programado si cambias las propiedades de su activador. Por ejemplo, deba cambiar el programa de ejecución del activador.

Para los trabajos de activador cron (es decir, trabajos que incluyen un valor de expresión cron), solo puedes cambia los valores de cronExpression y las propiedades habilitadas. Otros cambios son ignorados. Para trabajos que no especifican un valor de expresión cron, puedes cambiar otras propiedades como startTime o priority.

Para actualizar un trabajo programado, envía una solicitud PUT a /triggers/{trig_id}, en la que {trig_id} es la identificación del activador de trabajo, como se describe en Descripción general de los trabajos programados. Cuando realices la actualización, deberás especificar cuerpo de la solicitud, la configuración actualizada y el ID del activador.

Por ejemplo, la siguiente solicitud actualiza la expresión cron para el nuevo plan de tarifas de desarrolladores. Trabajo de renovación para ejecutar todos los días a las 5 a.m. 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

Inhabilita y vuelve a habilitar un trabajo programado con la API

Para inhabilitar un trabajo programado, establece el valor de propiedad enabled de su activador en false. Por ejemplo:

$ 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

Para volver a habilitar un trabajo inhabilitado, establece el valor de propiedad enabled de su activador en true.

Próximos pasos

Te recomendamos volver a sincronizar periódicamente con la monetización de tu organización y cualquier desarrolladores, aplicaciones y productos que creaste con los servicios de las APIs de Edge. Descubre cómo hacerlo en Sincronizar Datos de Apigee Edge con monetización.