Рӯзи 0
Дастрасиро исбот кунед
Калидро созед, як дархости аутентификатсияшударо иҷро кунед ва ҷавоби аввалинро бо метадодаҳои он захира кунед.
Кушодани қадам →дастури ҷараёни кории API
Натиҷаеро интихоб кунед, ки ба кори шумо наздиктар аст. Ҳар як роҳ ба шумо як дархости коrze, он чӣ бояд ҷавоб含 кунад, чӣ тавр санҷед, ки он кор кард ва қадами навбатии муфидро медиҳад.
Панҷ роҳи амалӣ
Selected: Harden a client
Сандоқии 14-рӯзаи API-и шумо
Ҳадаф аз он нест, ки ба ҳар як саҳифаи маҳсулот ворид шавед. Ҳадаф ин аст, ки кори муфиди аутентификатсияшудаи API-ро ба анҷом расонед, дар рӯзи дигар баргардед ва бо як маҷмӯи маълумоти такроршаванда ё ҷараёни кори замият бароед.
Рӯзи 0
Калидро созед, як дархости аутентификатсияшударо иҷро кунед ва ҷавоби аввалинро бо метадодаҳои он захира кунед.
Кушодани қадам →Рӯзҳои 1-2
Мушкилоти аутентификатсия ё филтрро ҳал кунед ва скрипти аввалинро ба як супориши номдор ва такроршаванда табдил диҳед.
Кушодани қадам →Рӯзҳои 3-4
Аз тақвим ҳамчун оинаи дуюми нуқтаи пайваст истифода баред ва иҷрои навбатии муфиди API-ро ба нақша гиред.
Кушодани қадам →Рӯзҳои 5-7
Интизориҳо ё гурӯҳи хурди силсилаҳои макроро илова кунед, сипас як муқоисаи захирашуда, ҷадвал ё корт-нишондиҳанда созед.
Кушодани қадам →Рӯзҳо 8-10
_REST, SSE ё вебхукҳои банақшагирифташударо интихоб кунед ва иҷрои бомуваффақияти дигари API-ро дар рӯзи дигар анҷом диҳед.
Кушодани қадам →Рӯзҳои 11-13
Тайм-аутҳо, такрориҳои маҳдуд, валидатсияи ҷавоб, логгини бехатари ҳуввият ва мониторинги маълумоти кӯҳнаро илова кунед.
Кушодани қадам →Рӯзи 14
Тасдиқ кунед, ки API кори такроршавандаеро таъмин мекунад, ки дастаи шумо нигоҳ медорад, сипас маҷмӯи додаҳо ё ҷараёни кории замимаи навбатро интихоб кунед.
Кушодани қадам →Production readiness
Production reliability comes from treating status codes differently, keeping retries bounded, reusing ETags, and choosing scheduled REST, SSE, or webhooks for the job.
Намунаи кории
Калиди худро дар нигоҳ доред FXMD_API_KEY; ҳеҷ гоҳ онро ба назорати манбаъ (source control) нагузоред.
import os
import requests
from urllib3.util.retry import Retry
session = requests.Session()
retry = Retry(total=3, backoff_factor=0.5, status_forcelist=(429, 502, 503, 504))
session.mount("https://", requests.adapters.HTTPAdapter(max_retries=retry))
response = session.get(
"https://api.fxmacrodata.com/v1/announcements/eur/inflation",
params={"api_key": os.environ["FXMD_API_KEY"], "limit": 5},
headers={"Accept-Encoding": "gzip"},
timeout=(3.05, 20),
)
response.raise_for_status()
Натиҷаи интизоришуда: A bounded client that handles transient failures without retry storms and is ready to add ETag-based conditional refreshes.
Вақте ки скрипти аввал ба системаи воқеӣ табдил меёбад
Ин дастурҳоро истифода баред, вақте ки ҷавоб ноком мешавад, ҳеҷ гуна маълумот намедиҳад ё ба назоратҳои истеҳсолӣ аз қабили кэширование, тайм-аутҳо, такрорҳо ва расонидани рӯйдодҳо ниёз дорад.
| Роҳнамо | Онро истифода баред, вақте ки | Оғоз |
|---|---|---|
| Ташхиси ҷавоби ноком ё холӣ | Мушкилоти аутентификатсия, дастрасӣ, роҳ, маҳдудияти суръат ва дастрасии маълумотро бе ошкор кардани калиди худ ҷудо кунед. | Кушодани дастур → |
| Омода кардани мизоҷи API барои истеҳсолот | Илова кардани вақтҳои интизорӣ, такрориҳои маҳдуд, кэширование, дархостҳои шартӣ ва намунаи дурусти расонидан. | Кушодани дастур → |