収益化ジョブのスケジュールを設定する

<ph type="x-smartling-placeholder"></ph> 現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント
詳細

スケジュールされたジョブの概要

収益化では、ジョブ スケジューラと、実行スケジュールが設定された一連のジョブが提供されます。 できます。

次の表に、収益化によって提供される事前スケジュール済みジョブと、それらのジョブが実行される時間を示します。 実行スケジュール(時間はすべて UTC)です。各ジョブのトリガーも示されています。

ジョブ 説明 スケジュール(UTC) トリガー
デベロッパーの月間税率 各デベロッパーの税金エンジンから税率を取得して、デベロッパーを更新します。 エンティティに帰属します。 毎月 1 日の午前 5 時 45 分 MINT.MONTHLY_DEV_TAXRATE@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
サブスクリプションを更新する 有効な料金プランの定期的な料金、または将来の料金プランに 指定することもできます。 毎日深夜 5 秒時 MINT.RENEW_SUBSCRIPTIONS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
XeFeed アップデータ サポートされている通貨ごとに米ドルの為替レートを取得します。 毎日深夜 0 時から 1 秒 MINT.XEFEED@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
デベロッパー料金プランの更新 料金プランの更新日を繰り越して、早期解約料を計算します。 毎日午前 2 時 20 分 MINT.RENEW_DEV_RATEPLAN@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
トランザクション リレーの再試行 : このジョブは非推奨になっており、サービスに対する影響はありません。 収益化。 毎日午前 4 時 30 分 MINT.RETRY_TX_RELAY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
トランザクション クレンザー : このジョブは非推奨になっており、サービスに対する影響はありません。 収益化。 毎日午前 5 時 30 分 MINT.TX_CLEANSER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
デベロッパー残高の監査 デベロッパー アカウントの残高を監査します。現在の使用量と前払い料金をコピーします 残高または後払いの利用限度額を監査表に追加して、現在の使用量を 使用残高がゼロに戻ります。 毎月 1 日の午前 0 時から 5 秒 MINT.DEVELOPER_BALANCE_AUDIT@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
月次請求のドキュメント 請求ドキュメントを生成します。

注: Apigee では、Apigee Edge Monetization からの請求ドキュメントの生成がサポートされなくなりました。 廃止をご覧ください。

毎月 11 日の午前 0 時から 1 分 MINT.MONTLY_BILLING_DOCS@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
デベロッパー料金プランカウンタ : このジョブは非推奨になっており、サービスに対する影響はありません。 収益化。 毎日深夜 3 秒 MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
日別料金 すべての 1 時間ごとのトランザクション合計を再計算し、それを使用してトランザクションの日次合計を計算します。 できます。 毎日午前 1 時 20 分 MINT.CHARGE_DAILY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
時間単位の料金 1 時間ごとのすべてのトランザクションの合計を計算します。 毎時 1 分ごと MINT.CHARGE_HOURLY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
通知構成を更新 すべての通知条件をインデックスに再登録します。 5 分毎 MINT.REFRESH_NOTIFICATION_CONFIG@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
メール通知を送信する 蓄積されたメール通知を送信します 1 時間ごと MINT.EMAIL_NOTIFICATION@@@
management-server@@@SYSTEM@@@
management-server@@@SYSTEM
更新の上限 : このジョブは非推奨になっており、サービスに対する影響はありません。 収益化。 なし(実行なし) MINT.REFRESH_LIMIT@@@
message-processor@@@SYSTEM@@@
message-processor@@@SYSTEM

上記のジョブ以外にも、イベントを使用して有効にできるジョブがあります。 すべての通知を受信できます。詳細については、通知を設定するをご覧ください。

ジョブ 説明 スケジュール トリガー
新しい荷物の通知 新しい API パッケージが利用可能になったことを知らせる通知をすべてのデベロッパーに送信します。 1 回実行 - ジョブを有効にした日の午後 9 時

: 次のことを行ったかどうかにかかわらず、通知は 1 回だけ送信されます。 ジョブが複数回実行されるよう cronExpression を構成する あります。

MINT.NEW_PACKAGE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
新しいアドホック通知 新しい API プロダクトが特定の環境で利用可能になったことを知らせる通知をすべてのデベロッパーに送信します。 特定できます 1 回実行 - ジョブを有効にした日の午後 9 時

: 次のことを行ったかどうかにかかわらず、通知は 1 回だけ送信されます。 ジョブが複数回実行されるよう cronExpression を構成する あります。

MINT.ADHOC_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
新商品の通知 新しい API プロダクトが使用可能になったことを知らせる通知をすべてのデベロッパーに送信します。 1 回実行 - ジョブを有効にした日の午後 9 時

: 次のことを行ったかどうかにかかわらず、通知は 1 回だけ送信されます。 ジョブが複数回実行されるよう cronExpression を構成する あります。

MINT.NEW_PRODUCT_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
新しい料金プランに関する通知

影響を受けるデベロッパーに新しい料金プランが利用可能になったことを知らせる通知を送信します。すべて 親料金プランに登録したデベロッパーには、新しい料金プランが加わったことが通知されます。 アクティブです。

次の特長があります。

  • 料金プランが標準プランの場合、すべてのデベロッパーに通知が届きます。
  • デベロッパー カテゴリの料金プランの場合、そのカテゴリのデベロッパーのみ 通知されます。
  • デベロッパー料金プランの場合、特定のデベロッパーのみが 通知されます。
新しい料金プランの開始日の午前 4 時 30 分に実行 MINT.NEW_RATEPLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
新しい TNC 影響を受けるデベロッパーに、利用規約が新たに追加または改訂されたことを通知する 公開済みである(デベロッパーがまだ承認していない)場合。 新規または改訂された利用規約の開始日の 30 日前、7 日前、1 日前に実行する。 午後 9 時 MINT.TNC_ACCEPTANCE_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT
料金プランの期限切れ間近 影響を受けるデベロッパーに通知を送信し、料金プランについて事前警告を行います 期限が迫っています 料金プランが期限切れになる 30 日前、7 日前、1 日前の午後 9 時に実行されます。 MINT.EXPIRING_RATE_PLAN_NOTIFY@@@
management-server@@@DEFAULT@@@
management-server@@@DEFAULT

API を使用した収益化ジョブ スケジュールの管理

以降のセクションでは、API を使用して収益化ジョブ スケジュールを管理する方法について説明します。

このセクションで説明する API の詳細については、API のスケジュールされたジョブをご覧ください。 ご覧ください。

トリガーの設定

スケジューラはトリガーを使用してジョブを実行します。スケジュールされたジョブは、ジョブに関連付けられた トリガーが実行されます。トリガーのプロパティはジョブの実行を構成します。また、トリガーの これらのプロパティの値を使用して、ジョブの実行のタイミングや その頻度を指定します

最も一般的な 2 種類のトリガーは、cron トリガーシンプルです トリガー。cron トリガーの cronExpression プロパティには、 実行スケジュールを設定します単純なトリガーには cronExpression プロパティがありません。 startTime を指定して、トリガーが有効になるタイミングを指定します。 (省略可)endTime

トリガーのプロパティは次のとおりです(時間はすべて UTC です)。

プロパティ 説明
cronExpression トリガーの実行スケジュールを作成するための cron 式。例: 「At 8:00 A.M. 毎週月曜日から金曜日までお待ちください「午前 1 時 30 分通知します詳しくは、 詳細については、cron 式の作成をご覧ください。

このプロパティを指定すると、トリガーが cron トリガーとして定義されます。

: cronExpressionstartTime/endTime が指定されている場合、cronExpression が優先されます。

enabled トリガーの実行が有効かどうかを示すフラグ。この値は次のいずれかです。 次のとおりです。 <ph type="x-smartling-placeholder">
    </ph>
  • true。トリガーの実行が有効になっている。
  • false。トリガーが無効になっているため、実行されません。
endTime トリガーのスケジュールが無効になるエポック形式の時刻。
group トリガーを実行するサーバーのタイプ。たとえば、トリガーが 管理サーバーで実行する場合は、値を management-server。トリガーがメッセージで実行される場合 値を message-processor に設定する必要があります。
id トリガーの識別。
jobId 実行されるジョブの識別情報。
name トリガーの識別に使用される一意の名前。
priority 複数のトリガーの実行がスケジュールされている場合のトリガーの相対的な実行優先度 あります。値が小さいほど、優先度が高くなります。たとえば 2 つのトリガーが 同時に実行されるようにスケジュール設定されていて、優先度が「1」で優先度が「1」のトリガーが 1 つ 優先度 1 のトリガーが最初に実行されます。

このプロパティは、複数のトリガーが完全に同じ実行される場合にのみ適用されます あります。

startTime 単純なトリガーにのみ適用されます。

トリガーのスケジュールが有効になるエポック形式の時刻。

: cronExpressionstartTime/endTime は両方とも cronExpression が優先されます。

suiteId 通知部分をシステムレベルの通知部分とデフォルト レベルの通知部分のどちらにするかを指定するフラグ 通知します。有効な値は DEFAULTSYSTEM、または 独自の一意のスイート名を指定できます
triggerDataMap 複数のサーバーの実行を防ぐロックキー custom_lock_key 同時に実行することもできます。

cron 式の構築

cron 式は、空白で区切られた 6 つまたは 7 つのフィールドで構成される文字列です。「 expression は一連の時間を表します。通常はルーティンを実行するスケジュールです。cron トリガーの cronExpression プロパティで指定された式が使用されている そのトリガーの実行をスケジュールします

cron 式の形式は、s m h dm m dw y です。

ここで

フィールド 説明 必須 使用できる値 使用できる特殊文字
s 0-59 , - * /
m 0-59 , - * /
h 時間 0-23 , - * /
dm 0-31 , - * ?/ 左横
m 1 ~ 12 日または 1 月~ 12 月 , - * /
dw 曜日 1-7 または SUN-SAT , - * ?/ L #
y いいえ 空または 1970 ~ 2099 年 , - * /

特殊文字は次のように定義されます。

特殊文字 説明
* フィールド内のすべての値を選択するために使用します。たとえば、分フィールドの * は 提供しています。
? 文字が許可される 2 つのフィールドのいずれかで何かを指定するために使用されます。 できます。たとえば、特定の曜日にトリガーを実行する場合は、 指定することもできます。ただし、曜日に関係なく、 月フィールド、?曜日フィールドに表示されます。
- 範囲を指定するために使用します。たとえば、時間フィールドの 10-12 は、10 時間、11 時間、12 時間を意味します。 12.
追加の値を指定するために使用します。たとえば、曜日フィールドに「MON,WED,FRI」と入力します。 は月曜日、水曜日、金曜日を意味します。
/ 増分を指定するために使用します。たとえば、秒フィールドの 0/15 は秒が 0、 15、30、45 があります。秒フィールドの 5/15 は、5 秒、20 秒、35 秒、50 秒を意味します。Google Chat では また、「あります。これは、/ の前に 0 があるのと同じ結果になります。 日フィールドで 1/3 を指定すると、初日から 3 日ごとに実行されます。 指定することもできます。
L 使用できる 2 つのフィールドのそれぞれで意味が異なります。L は、 month フィールドは月の最終日を表します。1 月の場合は 31 日目、1 月の場合は 28 日目です。 うるう年以外の 2 月。曜日のフィールドで、L は週の最終日、 つまり 7 または SAT ですただし、曜日フィールドで別の値の後に使用されている場合、 最後の xxx 日ですたとえば、6L は月の最終金曜日を表します。
W 指定された曜日に最も近い平日(月曜日から金曜日)を指定するために使用されます。たとえば Day フィールドで 15W を指定すると、その日の 15 日に最も近い平日が あります。たとえば、15 日が土曜日の場合、トリガーは 14 日金曜日に実行されます。もし 15 日は日曜日で、トリガーは 16 日の月曜日に実行されます。15 日が火曜日だとすると 15 日火曜日に実行されますただし、day に 1W を指定した場合、 1 日が土曜日の場合、トリガーは 3 日の月曜日に実行されます。 「ジャンプ」1 か月をまたいでW 文字は 日は 1 日であり、日の範囲やリストではありません。
# 月の n 番目の XXX 日を指定するために使用されます。たとえば、「6#3」という値が 週フィールドは、その月の第 3 金曜日を表します(第 6 日 = 金曜日、#3 = 月曜日の 3 番目の金曜日)。 。他の例: 2#1 = その月の第 1 月曜日、4#5 = 第 5 月曜日 毎月水曜日。

以下に、cron 式の例を示します(記載されている時間はすべて UTC です)。

CRON 式 実行スケジュール
0 0 12 * * ? 午後 12 時毎日(正午)に始まりました。
0 15 10 * * ?2013 午前 10:15増加しています。
0 10,44 14 ?3 水 午後 2 時 10 分午後 2 時 44 分に3 月の毎週水曜日です
0 15 10 ?* 6L 2013 ~ 2015 年 午前 10:152013 年、2014 年の毎月最終金曜日 2015 年
0 15 10 ?* 6#3 午前 10:15毎月第 3 金曜日に行われます

API でスケジュールされたジョブを表示する

現在スケジュールされているすべてのジョブを表示するには、次の宛先に GET リクエストを発行します。 /triggers?orgid={org_name}

例:

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

レスポンスの例を次に示します。

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

特定のスケジュール ジョブを表示するには、次の宛先に GET リクエストを発行します。 /triggers/{trig_id}{trig_id} はジョブの ID) スケジュールされたジョブの概要で説明されているように、トリガーされます。例:

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

レスポンスの例を次に示します。

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

API を使用したスケジュールされたジョブの更新

トリガーのプロパティを変更することで、スケジュールされたジョブを更新できます。たとえば、 トリガーの実行スケジュールの変更が必要になる可能性があります。

cron トリガージョブ(cron 式の値を含むジョブ)の場合、 cronExpression と有効なプロパティの値を変更します。その他の変更は 無視されます。cron 式の値を指定していないジョブでは、他のプロパティを変更できます。 startTimepriority など。

スケジュールされたジョブを更新するには、/triggers/{trig_id} に PUT リクエストを発行します。 スケジュールされたジョブの概要で説明されているように、{trig_id} はジョブトリガーの識別情報です。更新を行う際、 リクエストの本文で、更新された設定とトリガーの ID を指定します。

たとえば、次のリクエストでは、新しいデベロッパー料金プランの cron 式を更新します。 毎日午前 5 時に実行される更新ジョブ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

API を使用した、スケジュールされたジョブの無効化と再有効化

スケジュールされたジョブを無効にするには、トリガーの enabled プロパティの値を次のように設定します。 false に設定します。例:

$ 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

無効にしたジョブを再度有効にするには、トリガーの enabled プロパティ値を次のように設定します。 あります。

次のステップ

組織の収益化ステータスと デベロッパー、アプリケーション、およびプロダクト。詳細 同期 Apigee Edge データと収益化