Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Omówienie zaplanowanych zadań
Funkcja generowania przychodu udostępnia harmonogram zadań i zestaw zadań z wstępnym harmonogramem, które mają zostać wykonane w określonym czasie.
W tabeli poniżej znajdziesz wstępnie zaplanowane zadania wykonywane w ramach funkcji zarabiania oraz terminy ich realizacji jest zaplanowane (wszystkie godziny są podane w czasie UTC). Na liście znajduje się też aktywator każdego zadania.
Zadanie | Opis | Harmonogram (UTC) | Aktywator |
---|---|---|---|
Miesięczna stawka podatku dla deweloperów | Pobiera stawkę podatku z mechanizmu podatkowego dla każdego dewelopera i aktualizuje go podmiotu ze zmienioną stawką podatku. | Pierwszy dzień każdego miesiąca o 5:45 | MINT.MONTHLY_DEV_TAXRATE@@@ |
Odnów subskrypcję | Stosuje opłaty cykliczne w przypadku aktywnych planów stawek lub nowe opłaty z przyszłych planów, które zaczyna się w bieżącym dniu. | Codziennie o 5 sekund po północy | MINT.RENEW_SUBSCRIPTIONS@@@ |
Aktualizator XeFeed | Uzyskuje kurs wymiany w dolarach amerykańskich dla każdej obsługiwanej waluty. | Codziennie o 1 sekundę po północy | MINT.XEFEED@@@ |
Odnów abonament dla deweloperów | Przesuwa daty odnowienia abonamentu i oblicza opłaty za przedterminowe zerwanie umowy. | Codziennie o 2:20 | MINT.RENEW_DEV_RATEPLAN@@@ |
Ponawianie próby przekazania transakcji | Uwaga: to zadanie zostało wycofane i nie ma wpływu na o generowaniu przychodu. | Codziennie o 4:30 | MINT.RETRY_TX_RELAY@@@ |
Środek do czyszczenia transakcji | Uwaga: to zadanie zostało wycofane i nie ma wpływu na o generowaniu przychodu. | Codziennie o 5:30 | MINT.TX_CLEANSER@@@ |
Kontrola salda programisty | Kontroluje saldo konta dewelopera. Kopiuje bieżące użycie i przedpłaconą limitu kredytu/spłaty po wykonaniu usługi do tabeli kontroli, a następnie odejmuje bieżące wykorzystanie od konta dewelopera i zwraca saldo wykorzystania do zera. | Pierwszy dzień każdego miesiąca o 5 sekund po północy | MINT.DEVELOPER_BALANCE_AUDIT@@@ |
Dokumentacja rozliczeń miesięcznych | Generuje dokumenty rozliczeniowe. Uwaga: Apigee nie obsługuje już generowania dokumentów rozliczeniowych na podstawie funkcji zarabiania w Apigee Edge. Zobacz Wycofane funkcje. |
11 dnia każdego miesiąca o 1 minucie po północy | MINT.MONTLY_BILLING_DOCS@@@ |
Licznik w planie stawek dla deweloperów | Uwaga: to zadanie zostało wycofane i nie ma wpływu na o generowaniu przychodu. | Codziennie o 3 sekundy po północy | MINT.RESET_DEVELOPER_RATE_PLAN_COUNTER@@@ |
Dzienne opłaty | Ponownie oblicza łączne godzinowe sumy transakcji i używa ich do obliczania sum dla poprzedniego dnia. | Codziennie o 1:20 | MINT.CHARGE_DAILY@@@ |
Opłaty godzinowe | Oblicza wszystkie sumy transakcji dla każdego kwadransa. | 1 minutę po każdej kwadransie godziny | MINT.CHARGE_HOURLY@@@ |
Odśwież konfigurację powiadomień | Ponownie indeksuje wszystkie warunki powiadomień. | Co 5 minut | MINT.REFRESH_NOTIFICATION_CONFIG@@@ |
Wyślij powiadomienia e-mail | Wysyła zgromadzone powiadomienia e-mail | Co godzinę | MINT.EMAIL_NOTIFICATION@@@ |
Limit odświeżania | Uwaga: to zadanie zostało wycofane i nie ma wpływu na o generowaniu przychodu. | Nie dotyczy (nigdy nie jest wykonywany) | MINT.REFRESH_LIMIT@@@ |
Oprócz wymienionych powyżej zadań możesz też włączyć te zadania przez zdarzenie. powiadomień, jak podano w poniższej tabeli. Więcej informacji znajdziesz w artykule Konfigurowanie powiadomień.
Zadanie | Opis | Harmonogram | Aktywator |
---|---|---|---|
Powiadomienie o nowej paczce | Wysyła powiadomienie do wszystkich deweloperów, że jest dostępny nowy pakiet interfejsów API. |
Jest uruchamiane raz – w dniu włączenia zadania o 21:00.
Uwaga: powiadomienia są wysyłane tylko raz, niezależnie od tego, czy
skonfigurować |
MINT.NEW_PACKAGE_NOTIFY@@@ |
Nowe doraźne powiadomienie | Wysyła powiadomienie do wszystkich deweloperów, że nowe usługi API są dostępne w określonych rynki geograficzne. |
Jest uruchamiane raz – w dniu włączenia zadania o 21:00.
Uwaga: powiadomienia są wysyłane tylko raz, niezależnie od tego, czy
skonfigurować |
MINT.ADHOC_NOTIFY@@@ |
Powiadomienie o nowym produkcie | Wysyła powiadomienie do wszystkich deweloperów, że jest dostępny nowy interfejs API. |
Jest uruchamiane raz – w dniu włączenia zadania o 21:00.
Uwaga: powiadomienia są wysyłane tylko raz, niezależnie od tego, czy
skonfigurować |
MINT.NEW_PRODUCT_NOTIFY@@@ |
Powiadomienie o nowym planie stawek |
Wysyła powiadomienie do deweloperów, których dotyczy ta zmiana, że jest dostępny nowy abonament. Wszystkie deweloperzy, którzy subskrybują nadrzędny abonament, są powiadamiani, że został aktywne. Ponadto:
|
Uruchamiany w dniu rozpoczęcia nowego planu stawek o 4:30. | MINT.NEW_RATEPLAN_NOTIFY@@@ |
Nowy tnc | Wysyła do odpowiednich deweloperów powiadomienie, że nowe lub zmienione Warunki korzystania z usługi zostały opublikowane (a deweloper jeszcze ich nie zaakceptował). | a także zostaną zastosowane 30, 7 i 1 dzień przed datą rozpoczęcia obowiązywania nowych lub zmienionych Warunków korzystania z usługi. o 21:00 | MINT.TNC_ACCEPTANCE_NOTIFY@@@ |
Wygasający abonament | Wysyła powiadomienie do deweloperów, których dotyczy problem, aby z wyprzedzeniem ostrzegać o planach taryfowych. wygaśnie. | Uruchomienie 30, 7 i 1 dzień przed wygaśnięciem planu stawek o 21:00. | MINT.EXPIRING_RATE_PLAN_NOTIFY@@@ |
Zarządzanie harmonogramem zadań związanych z generowaniem przychodu za pomocą interfejsu API
W sekcjach poniżej opisano, jak zarządzać harmonogramem zadań związanych z generowaniem przychodu za pomocą interfejsu API:
- Konfigurowanie reguł
- Tworzenie wyrażeń cron
- Wyświetlanie zaplanowanych zadań za pomocą interfejsu API
- Aktualizowanie zaplanowanych zadań przy użyciu interfejsu API
- Wyłączanie i ponowne włączanie zaplanowanego zadania za pomocą Interfejs API
Więcej informacji o interfejsach API opisanych w tej sekcji znajdziesz w artykule Zaplanowane zadania w interfejsie API. odwołania.
Konfigurowanie aktywatorów
Algorytm szeregowania wykorzystuje aktywatory do wykonywania zadań. Zaplanowane zadanie jest wykonywane, gdy jest powiązane . Właściwości aktywatora określają wykonywanie zadania, a przez ustawienie wartości pozwalają określić właściwości wykonania zadania, np. kiedy i częstotliwość ich uruchamiania.
Dwa najpopularniejsze typy aktywatorów to reguły cron i reguły proste
reguły. Aktywator cron ma właściwość cronExpression
, która określa
w harmonogramie wykonywania zadań. Prosta reguła nie ma właściwości cronExpression
. Ty
i określ startTime
, aby wskazać, kiedy reguła zostanie zastosowana;
(opcjonalnie) endTime
.
Właściwości reguły są następujące (wszystkie godziny są podane w czasie UTC):
Właściwość | Opis |
---|---|
cronExpression |
Wyrażenie cron tworzące harmonogram wykonania dla aktywatora, na przykład: „O 8:00
w każdy poniedziałek–piątek” lub „O 1:30 w nocy w każdy ostatni piątek miesiąca”. Zobacz
Tworzenie wyrażeń cron, aby dowiedzieć się więcej.
Określenie tej właściwości definiuje aktywator jako aktywator cron. Uwaga: jeśli zarówno |
enabled |
Flaga wskazująca, czy aktywator może być wykonywany. Wartość może być jedną z tych wartości:
następujące:
|
endTime |
Czas w formacie epoki, w którym harmonogram aktywatora już nie obowiązuje. |
group |
Typ serwera, na którym zostanie wykonany aktywator. Jeśli na przykład reguła to
ma być wykonywane na serwerze zarządzania, wartość powinna być ustawiona na
management-server Jeśli aktywator ma być wykonywany w wiadomości
serwera przetwarzania danych, należy ustawić wartość na message-processor . |
id |
Identyfikacja wyzwalacza. |
jobId |
Identyfikator zadania do wykonania. |
name |
Unikalna nazwa używana do identyfikacji aktywatora. |
priority |
Względny priorytet wykonania aktywatorów, jeśli zaplanowano wykonanie wielu aktywatorów
jednocześnie. Im niższa wartość, tym wyższy priorytet. Na przykład, jeśli 2 reguły
są zaplanowane do tego samego działania, a jeśli jedna z reguł ma priorytet 1,
o priorytecie 2, reguła o priorytecie 1 jest uruchamiana jako pierwsza.
Ta właściwość ma zastosowanie tylko wtedy, gdy wiele aktywatorów ma dokładnie to samo wykonanie obecnie się znajdujesz. |
startTime |
Dotyczy tylko prostych reguł.
Czas w formacie epoki, w którym zaczyna obowiązywać harmonogram aktywatora. Uwaga: jeśli
zarówno |
suiteId |
Flaga określająca, czy powiadomienie na poziomie systemu czy na poziomie domyślnym
zestaw powiadomień. Prawidłowe wartości to DEFAULT lub SYSTEM albo
możesz podać własną unikalną nazwę pakietu. |
triggerDataMap |
Klucz blokady custom_lock_key , który uniemożliwia uruchomienie wielu serwerów
w tym samym czasie pracy. |
Tworzenie wyrażeń cron
Wyrażenie cron to ciąg znaków zawierający 6 lub 7 pól rozdzielonych spacją.
reprezentuje zestaw czasów, zwykle jako harmonogram wykonywania rutyny. cron
wyrażenia określone we właściwości cronExpression
aktywatora
aby zaplanować wykonanie tego aktywatora.
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 STY | , – * / |
dw |
Dzień tygodnia | Tak | 1–7 lub SUN-SAT | , – * ? / l # |
y |
Rok | Nie | Pusta lub 1970–2099 | , – * / |
Znaki specjalne są następujące:
Znak specjalny | Opis |
---|---|
* | Służy do wybierania wszystkich wartości w polu. Na przykład znak * w polu minut oznacza co minutę. |
? | Służy do określenia czegoś w jednym z dwóch pól, w których dany znak jest dozwolony, ale nie na drugą. Jeśli na przykład chcesz, aby reguła uruchamiała się w określonym dniu miesiąc (np. 10), ale niezależnie od dnia tygodnia podaj 10 w dniu i ciągu miesiąca, a znak ? w polu dnia tygodnia. |
- | Służy do określania zakresów. Na przykład zapis 10–12 w polu godziny oznacza godziny 10, 11 i 12. |
, | Służy do określania dodatkowych wartości. Na przykład PN,ŚR,PT. w polu dnia tygodnia oznaczają poniedziałek, środę i piątek. |
/ | Służy do określania przyrostów. Na przykład 0/15 w polu sekund oznacza, że sekundy 0 są 0, 15, 30 i 45. Z kolei 5/15 w polu sekundy oznacza sekundy 5, 20, 35 i 50. Dostępne opcje należy też określić / po „ znaku. Jest to równoważne z 0 przed znakiem /. Jeśli w polu dnia miesiąca określisz wartość 1/3, oznacza to, że wykonywane są co 3 dni, począwszy od pierwszego dzień miesiąca. |
L | Ma inne znaczenie w każdym z tych 2 pól, w których jest dozwolone. L w dniu pole miesiąca oznacza ostatni dzień miesiąca, czyli 31 dzień miesiąca, czyli 31 dzień w przypadku stycznia lub dzień 28. w lutym w latach innych niż przestępne. W polu dnia tygodnia L oznacza ostatni dzień tygodnia. czyli 7, czyli SAT. Jeśli jednak zostanie użyty w polu dnia tygodnia po innej wartości, oznacza to, że ostatniego xxx dnia miesiąca. Na przykład 6L oznacza ostatni piątek miesiąca. |
W | Służy do określania dnia tygodnia (od poniedziałku do piątku) najbliższego dnia. Na przykład, jeśli W polu dnia miesiąca podaj 15 W, oznacza to, że najbliższy dzień roboczy przypada w ciągu 15 dnia miesiąca. miesiąc. Jeśli więc 15 dzień miesiąca to sobota, reguła zostanie aktywowana w piątek, 14 dnia miesiąca. Jeśli 15 dzień miesiąca to niedziela, reguła zostanie uruchomiona w poniedziałek, 16 dnia miesiąca. Jeśli 15 dzień miesiąca to wtorek, a jej realizacja nastąpi we wtorek 15 dnia. Jeśli jednak określisz 1 W dla dnia miesiąca, a pierwsza to sobota, reguła zostanie uruchomiona w poniedziałek 3 dnia, ponieważ nie będzie „przeskok” ponad dni miesiąca. Znak W można określić tylko wtedy, gdy dzień miesiąca to jeden dzień, a nie zakres ani lista dni. |
# | Służy do określenia n-tego XXX dnia miesiąca. Na przykład wartość 6#3 w dniu pole tygodnia oznacza trzeci piątek miesiąca (dzień 6 = piątek i nr 3 = trzeci piątek miesiąca) miesiąc). Inne przykłady: 2#1 = pierwszy poniedziałek miesiąca, 4#5 = piąty Środa miesiąca. |
Oto kilka przykładów wyrażeń cron (wszystkie godziny są podane w czasie UTC):
Wyrażenie cron | Harmonogram wykonywania |
---|---|
0 0 12 * * ? | 12:00 (południe) każdego dnia. |
0 15 10 * * ? 2013 | 10:15 w 2013 roku. |
0 10,44 14 ? 3 ŚRO | 14:10 oraz o 14:44. w każdą środę marca. |
0 15 10 * 6L 2013–2015 | 10:15 w ostatni piątek miesiąca w latach 2013, 2014, 2015 r. |
0 15 10 * 6#3 | 10:15 w trzeci piątek każdego miesiąca. |
Wyświetlanie zaplanowanych zadań przy użyciu interfejsu API
Aby wyświetlić wszystkie aktualnie zaplanowane zadania, wyślij żądanie GET do
/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 takiej 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 zadania
aktywator, jak opisano w sekcji Przegląd 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 takiej 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ń przy użyciu interfejsu API
Zaplanowane zadanie możesz zaktualizować, zmieniając właściwości jego aktywatora. Na przykład: może być konieczna zmiana harmonogramu wykonywania aktywatora.
W przypadku zadań aktywatorów cron (czyli zadań, które zawierają wartość wyrażenia cron) możesz tylko
zmień wartości cronExpression
i włączonych właściwości. Pozostałe zmiany:
zignorowano. W przypadku zadań, które nie mają określonej wartości wyrażenia cron, możesz zmienić inne właściwości
na przykład startTime
lub priority
.
Aby zaktualizować zaplanowane zadanie, wyślij żądanie PUT do zadania /triggers/{trig_id}
, gdzie
{trig_id}
to identyfikator aktywatora zadania, zgodnie z opisem w sekcji Omówienie zaplanowanych zadań. Wprowadzając aktualizację, w sekcji
treść żądania zaktualizowane ustawienia oraz identyfikator aktywatora.
Na przykład to żądanie aktualizuje wyrażenie cron na potrzeby nowego abonamentu dla programistów Zadanie odnowienia każdego dnia 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 przy użyciu interfejsu API
Aby wyłączyć zaplanowane zadanie, ustaw wartość właściwości enabled
jego aktywatora na
false (fałsz). 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 aktywatora na
true (prawda).
Dalsze kroki
Zaleca się co jakiś czas synchronizowanie danych organizacji z danymi dotyczącymi zarabiania programistów, aplikacji i usług utworzonych przez Ciebie przy użyciu usług interfejsu Edge API. Więcej informacji: Synchronizuj Dane Apigee Edge z monetyzacją.