Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Przegląd zaplanowanych zadań
Monetyzacja udostępnia harmonogram zadań i zestaw zadań, które są wstępnie zaplanowane do uruchamiania w określonych godzinach.
W tabeli poniżej znajdziesz listę wstępnie zaplanowanych zadań związanych z zarabianiem oraz godziny, w których są one zaplanowane (wszystkie godziny są podane w czasie UTC). Podany jest też wyzwalacz każdego zadania.
| Zadanie | Opis | Harmonogram (UTC) | Aktywator |
|---|---|---|---|
| Miesięczna stawka podatku dewelopera | Pobiera z systemu podatkowego stawkę podatku dla każdego dewelopera i aktualizuje podmiot dewelopera o zmienioną stawkę podatku. | Pierwszego dnia każdego miesiąca o godzinie 5:45. | MINT.MONTHLY_DEV_TAXRATE@@@ |
| Odnów subskrypcję | Naliczanie cyklicznych opłat za aktywne abonamenty lub nowych opłat za przyszłe abonamenty, które rozpoczynają się w bieżącym dniu. | Codziennie o godzinie 00:00:05 | MINT.RENEW_SUBSCRIPTIONS@@@ |
| XeFeed Updater | Pobiera kurs wymiany na dolary amerykańskie dla każdej obsługiwanej waluty. | Codziennie o 00:00:01 | MINT.XEFEED@@@ |
| Odnawianie abonamentu deweloperskiego | Przesuwa daty odnowienia abonamentu i oblicza opłaty za wcześniejsze zakończenie umowy. | Codziennie o 2:20. | MINT.RENEW_DEV_RATEPLAN@@@ |
| Ponów przekazywanie transakcji | Uwaga: to zadanie zostało wycofane i nie ma wpływu na zarabianie. | Codziennie o 4:30 | MINT.RETRY_TX_RELAY@@@ |
| Transaction Cleanser | Uwaga: to zadanie zostało wycofane i nie ma wpływu na zarabianie. | Codziennie o 5:30. | MINT.TX_CLEANSER@@@ |
| Kontrola salda dewelopera | Sprawdza saldo konta dewelopera. Kopiuje bieżące wykorzystanie i saldo przedpłacone lub limit kredytowy na koncie z płatnościami z dołu do tabeli kontrolnej, a następnie odejmuje bieżące wykorzystanie od konta dewelopera i resetuje saldo wykorzystania do zera. | Pierwszy dzień każdego miesiąca o godzinie 00:00:05 | MINT.DEVELOPER_BALANCE_AUDIT@@@ |
| Dokumentacja fakturowania miesięcznego | Generuje dokumenty rozliczeniowe. Uwaga: Apigee nie obsługuje już generowania dokumentów rozliczeniowych na podstawie funkcji zarabiania na Apigee Edge. Zobacz Wycofywanie. |
11 dnia każdego miesiąca o godzinie 00:01 | MINT.MONTLY_BILLING_DOCS@@@ |
| Licznik planu cenowego dla deweloperów | Uwaga: to zadanie zostało wycofane i nie ma wpływu na zarabianie. | Codziennie o godzinie 00:00:03 | MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@ |
| Opłaty dzienne | Ponownie oblicza wszystkie godzinowe sumy transakcji i używa ich do obliczania dziennych sum za poprzedni dzień. | Codziennie o 1:20. | MINT.CHARGE_DAILY@@@ |
| Opłaty godzinowe | Oblicza łączne wartości wszystkich transakcji w każdym kwadransie. | 1 minutę po każdej kwarcie godziny | MINT.CHARGE_HOURLY@@@ |
| Odświeżanie konfiguracji powiadomień | Ponownie indeksuje wszystkie warunki powiadomień. | Co 5 minut | MINT.REFRESH_NOTIFICATION_CONFIG@@@ |
| Wyślij powiadomienia e-mail | Wysyła zbiorcze e-maile z powiadomieniami | Co godzinę | MINT.EMAIL_NOTIFICATION@@@ |
| Odśwież limit | Uwaga: to zadanie zostało wycofane i nie ma wpływu na zarabianie. | Nie dotyczy (nigdy nie jest wykonywana) | MINT.REFRESH_LIMIT@@@ |
Oprócz zadań wymienionych powyżej istnieją zadania, które możesz włączyć za pomocą powiadomień o zdarzeniach, jak pokazano w tabeli poniżej. Więcej informacji znajdziesz w artykule Konfigurowanie powiadomień.
| Zadanie | Opis | Harmonogram | Aktywator |
|---|---|---|---|
| Powiadomienie o nowym pakiecie | Wysyła powiadomienie do wszystkich programistów o dostępności nowego pakietu interfejsu API. |
Uruchamia się raz – w dniu włączenia zadania o 21:00.
Uwaga: powiadomienia są wysyłane tylko raz, niezależnie od tego, czy skonfigurujesz |
MINT.NEW_PACKAGE_NOTIFY@@@ |
| Nowe powiadomienie ad hoc | Wysyła powiadomienie do wszystkich programistów o dostępności nowych produktów API na określonych rynkach geograficznych. |
Uruchamia się raz – w dniu włączenia zadania o 21:00.
Uwaga: powiadomienia są wysyłane tylko raz, niezależnie od tego, czy skonfigurujesz |
MINT.ADHOC_NOTIFY@@@ |
| Powiadomienie o nowym produkcie | Wysyła powiadomienie do wszystkich deweloperów o dostępności nowego produktu API. |
Uruchamia się raz – w dniu włączenia zadania o 21:00.
Uwaga: powiadomienia są wysyłane tylko raz, niezależnie od tego, czy skonfigurujesz |
MINT.NEW_PRODUCT_NOTIFY@@@ |
| Powiadomienie o nowym abonamencie |
Wysyła powiadomienie do deweloperów, których dotyczy ta zmiana, o dostępności nowego planu stawek. Wszyscy deweloperzy subskrybujący nadrzędny pakiet cenowy otrzymają powiadomienie o aktywacji nowego pakietu cenowego. Ponadto:
|
Rozpoczyna się w dniu rozpoczęcia nowego planu taryfowego o godzinie 4:30. | MINT.NEW_RATEPLAN_NOTIFY@@@ |
| New Tnc | Wysyła powiadomienie do deweloperów, których dotyczą nowe lub zmienione Warunki korzystania z usługi, o ich opublikowaniu (i o tym, że deweloper nie zaakceptował jeszcze tych warunków). | Wysyłane 30, 7 i 1 dzień przed datą rozpoczęcia obowiązywania nowych lub zmienionych Warunków, o godzinie 21:00. | MINT.TNC_ACCEPTANCE_NOTIFY@@@ |
| Wygasający plan taryfowy | Wysyła powiadomienie do deweloperów, których dotyczy ta zmiana, aby uprzedzić ich o wygaśnięciu planu cenowego. | Uruchamiany 30, 7 i 1 dzień przed wygaśnięciem planu cenowego o godzinie 21:00. | MINT.EXPIRING_RATE_PLAN_NOTIFY@@@ |
Zarządzanie harmonogramem zadań zarabiania za pomocą interfejsu API
W sekcjach poniżej opisujemy, jak zarządzać harmonogramem zadań związanych z zarabianiem za pomocą interfejsu API:
- Konfigurowanie reguł
- Tworzenie wyrażeń cron
- Wyświetlanie zaplanowanych zadań za pomocą interfejsu API
- Aktualizowanie zaplanowanych zadań za pomocą interfejsu API
- Wyłączanie i ponowne włączanie zaplanowanego zadania za pomocą interfejsu API
Więcej informacji o interfejsach API opisanych w tej sekcji znajdziesz w dokumentacji interfejsu API w sekcji Zaplanowane zadania.
Konfigurowanie aktywatorów
Algorytm szeregowania polega na aktywatorach, które wykonują zadania. Zaplanowane zadanie jest wykonywane, gdy uruchamiany jest powiązany z nim wyzwalacz. Właściwości wyzwalacza konfigurują wykonanie zadania, a ustawiając wartość tych właściwości, możesz kontrolować cechy wykonania zadania, takie jak czas i częstotliwość jego wykonywania.
Dwa najpopularniejsze typy aktywatorów to aktywatory cron i proste aktywatory. Wyrażenie CRON ma właściwość cronExpression, która określa harmonogram wykonywania. Prosty aktywator nie ma właściwości cronExpression. Aby określić, kiedy aktywator ma zacząć działać, podaj właściwość startTime, a opcjonalnie – właściwość endTime.
Właściwości wyzwalacza są następujące (wszystkie podane godziny są w czasie UTC):
| Właściwość | Opis |
|---|---|
cronExpression |
Wyrażenie cron, które tworzy harmonogram wykonania wyzwalacza, np. „O 8:00 rano od poniedziałku do piątku” lub „O 1:30 w ostatni piątek miesiąca”. Więcej informacji znajdziesz w artykule Tworzenie wyrażeń cron.
Określenie tej właściwości definiuje wyzwalacz jako wyzwalacz cron. Uwaga: jeśli podano zarówno parametr |
enabled |
Flaga wskazująca, czy wyzwalacz jest włączony do wykonania. Wartość może być jedną z tych opcji:
|
endTime |
Czas w formacie epoki, w którym harmonogram wyzwalacza przestaje obowiązywać. |
group |
Typ serwera, na którym zostanie wykonany wyzwalacz. Jeśli na przykład wyzwalacz ma być wykonywany na serwerze zarządzania, wartość powinna być ustawiona na management-server. Jeśli wyzwalacz ma być wykonywany na serwerze przetwarzającym wiadomości, wartość powinna być ustawiona na message-processor. |
id |
Identyfikator wyzwalacza. |
jobId |
Identyfikator zadania do wykonania. |
name |
Unikalna nazwa używana do identyfikacji reguły. |
priority |
Względny priorytet wykonywania wyzwalaczy, jeśli zaplanowano wykonanie wielu wyzwalaczy w tym samym czasie. Im niższa wartość, tym wyższy priorytet. Jeśli na przykład 2 wyzwalacze mają zostać uruchomione w tym samym czasie, a jeden z nich ma priorytet 1, a drugi – priorytet 2, najpierw zostanie uruchomiony wyzwalacz o priorytecie 1.
Ta właściwość ma zastosowanie tylko wtedy, gdy wiele wyzwalaczy ma dokładnie ten sam czas wykonania. |
startTime |
Dotyczy tylko prostych reguł.
Czas w formacie epoki, kiedy harmonogram wyzwalacza zaczyna obowiązywać. Uwaga: jeśli określono zarówno parametr |
suiteId |
Flaga określająca, czy powiadomienie jest częścią pakietu powiadomień na poziomie systemu czy na poziomie domyślnym. Prawidłowe wartości to DEFAULT lub SYSTEM. Możesz też podać własną, unikalną nazwę pakietu. |
triggerDataMap |
Klucz blokady custom_lock_key, który zapobiega wykonywaniu tego samego zadania przez wiele serwerów w tym samym czasie. |
Tworzenie wyrażeń cron
Wyrażenie cron to ciąg znaków składający się z 6 lub 7 pól oddzielonych białymi znakami. Wyrażenie
reprezentuje zestaw godzin, zwykle w formie harmonogramu wykonywania rutyny. Wyrażenia cron określone we właściwości cronExpression reguły są używane do planowania wykonania tej reguły.
s
m h dm m dw y
Gdzie:
| Pole | Opis | Wymagane | Dozwolone wartości | Dozwolone znaki specjalne |
|---|---|---|---|---|
s |
Sekundy | Tak | 0-59 | , - * / |
m |
Minuty | Tak | 0-59 | , - * / |
h |
Godziny | Tak | 0-23 | , - * / |
dm |
Dzień miesiąca | Tak | 0-31 | , - * ? / L W |
m |
Miesiąc | Tak | 1–12 lub JAN-DEC | , - * / |
dw |
Dzień tygodnia | Tak | 1–7 lub SUN-SAT | , - * ? / L # |
y |
Rok | Nie | Puste lub 1970–2099 | , - * / |
Znaki specjalne są zdefiniowane w ten sposób:
| Znak specjalny | Opis |
|---|---|
| * | Służy do wybierania wszystkich wartości w polu. Na przykład * w polu „minuta” oznacza każdą minutę. |
| ? | Używany do określania czegoś w jednym z dwóch pól, w których znak jest dozwolony, ale nie w drugim. Jeśli na przykład chcesz, aby wyzwalacz uruchamiał się w określonym dniu miesiąca (np. 10), ale nie zależy Ci na dniu tygodnia, w polu dnia miesiąca wpisz 10, a w polu dnia tygodnia – ?. w polu dzień tygodnia. |
| - | Służy do określania zakresów. Na przykład 10–12 w polu godziny oznacza godziny 10, 11 i 12. |
| , | Służy do określania dodatkowych wartości. Na przykład MON,WED,FRI w polu dnia tygodnia oznacza poniedziałek, środę i piątek. |
| / | Służy do określania przyrostów. Na przykład 0/15 w polu sekund oznacza sekundy 0, 15, 30 i 45. A 5/15 w polu sekund oznacza sekundy 5, 20, 35 i 50. Możesz też wpisać / po znaku cudzysłowu. Jest to równoznaczne z wpisaniem 0 przed znakiem /. Wpisanie 1/3 w polu dnia miesiąca oznacza wykonywanie co 3 dni, począwszy od pierwszego dnia miesiąca. |
| L | Ma inne znaczenie w każdym z 2 pól, w których jest dozwolony. L w polu dnia miesiąca oznacza ostatni dzień miesiąca, czyli 31 stycznia lub 28 lutego w latach nieprzestępnych. W polu dnia tygodnia litera L oznacza ostatni dzień tygodnia, czyli 7 lub SOB. Jeśli jednak jest używana w polu dnia tygodnia po innej wartości, oznacza ostatni xxx dzień miesiąca. Na przykład 6L oznacza ostatni piątek miesiąca. |
| W | Służy do określania dnia powszedniego (od poniedziałku do piątku) najbliższego danemu dniu. Jeśli na przykład w polu „Dzień miesiąca” podasz wartość 15W, oznacza to najbliższy dzień powszedni 15 dnia miesiąca. Jeśli 15 dzień miesiąca wypada w sobotę, wyzwalacz zostanie uruchomiony w piątek 14 dnia miesiąca. Jeśli 15 dzień miesiąca wypada w niedzielę, wyzwalacz zostanie uruchomiony w poniedziałek 16 dnia miesiąca. Jeśli 15 dzień miesiąca wypada we wtorek, płatność nastąpi we wtorek 15 dnia miesiąca. Jeśli jednak określisz 1W jako dzień miesiąca, a 1 dzień miesiąca to sobota, wyzwalacz zostanie uruchomiony w poniedziałek 3 dnia miesiąca, ponieważ nie „przeskoczy” przez granicę dni miesiąca. Znaku W można używać tylko wtedy, gdy dzień miesiąca jest pojedynczym dniem, a nie zakresem ani listą dni. |
| # | Służy do określania n-tego dnia XXX miesiąca. Na przykład wartość 6#3 w polu dnia tygodnia oznacza trzeci piątek miesiąca (dzień 6 = piątek, a #3 = trzeci w miesiącu). Inne przykłady: 2#1 = pierwszy poniedziałek miesiąca, 4#5 = piąta środa miesiąca. |
Oto kilka przykładów wyrażeń cron (wszystkie podane czasy są w strefie czasowej UTC):
| Wyrażenie cron | Harmonogram wykonywania |
|---|---|
| 0 0 12 * * ? | Codziennie o 12:00. |
| 0 15 10 * * ? 2013 | 10:15 rano każdego dnia w 2013 r. |
| 0 10,44 14 ? 3 ŚR | 14:10 i 14:44 w każdą środę marca. |
| 0 15 10 ? * 6L 2013–2015 | 10:15 w ostatni piątek każdego miesiąca w latach 2013, 2014 i 2015. |
| 0 15 10 ? * 6#3 | 10:15 w każdy trzeci piątek miesiąca. |
Wyświetlanie zaplanowanych zadań za pomocą interfejsu API
Wszystkie aktualnie zaplanowane zadania możesz wyświetlić, wysyłając żądanie GET do strony /triggers?orgid={org_name}.
Na przykład:
$ curl -H "Accept:application/json" -X GET \ "http://localhost:8080/v1/mint/triggers?orgid={org_name}" \ -u email:password
Oto przykład odpowiedzi:
[ {
"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
},
...
]
Możesz też wyświetlić konkretne zaplanowane zadanie, wysyłając żądanie GET do /triggers/{trig_id}, gdzie {trig_id} to identyfikator wyzwalacza zadania, zgodnie z opisem w omówieniu zaplanowanych zadań. Na przykład:
$ curl -X GET \ "http://localhost:8080/v1/mint/triggers/MINT.RENEW_DEV_RATEPLAN@@@management-server@@@DEFAULT@@@management-server@@@DEFAULT" \ -u email:password
Oto przykład odpowiedzi:
{
"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
}
Aktualizowanie zaplanowanych zadań za pomocą interfejsu API
Zaplanowane zadanie możesz zaktualizować, zmieniając właściwości jego wyzwalacza. Może na przykład zajść potrzeba zmiany harmonogramu wykonywania aktywatora.
W przypadku zadań wywoływanych przez crona (czyli zadań, które zawierają wartość wyrażenia cron) możesz zmieniać tylko wartości właściwości cronExpression i enabled. Pozostałe zmiany są ignorowane. W przypadku zadań, które nie określają wartości wyrażenia cron, możesz zmienić inne właściwości, takie jak startTime lub priority.
Aby zaktualizować zaplanowane zadanie, wyślij żądanie PUT do /triggers/{trig_id}, gdzie {trig_id} to identyfikator reguły zadania, zgodnie z opisem w omówieniu zaplanowanych zadań. Gdy wprowadzisz zmianę, musisz w treści żądania podać zaktualizowane ustawienia i identyfikator aktywatora.
Na przykład to żądanie aktualizuje wyrażenie cron dla zadania odnowienia nowego planu cenowego dla deweloperów, aby było ono uruchamiane codziennie o 5: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
Wyłączanie i ponowne włączanie zaplanowanego zadania za pomocą interfejsu API
Aby wyłączyć zaplanowane zadanie, ustaw wartość właściwości enabled jego wyzwalacza na false. Na przykład:
$ 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
Aby ponownie włączyć wyłączone zadanie, ustaw wartość właściwości enabled jego wyzwalacza na true.
Dalsze kroki
Zalecamy okresowe ponowne synchronizowanie z monetyzacją organizacji oraz wszystkich programistów, aplikacji i produktów utworzonych za pomocą usług API Edge. Dowiedz się, jak synchronizować dane Apigee Edge z danymi o przychodach.