ۋاكالەتچى كۆلچىكىدە ئىقتىدارى پەرقلىق ئاخىرقى نۇقتىلار بولۇشى مۇمكىن. پۈتۈن پروگراممىدا ئەللىك مەشغۇلاتقا رۇخسەت قىلىش ئۇلارنىڭ قىرىق توققۇزىنىڭ ئوخشاش ۋاكالەتچىنى تاللىشىنى توسالمايدۇ.

ئەگەر سىياسەت «ھەر بىر تاللانغان ۋاكالەتچىدىن ئەڭ كۆپ تۆت داۋاملىشىۋاتقان مەشغۇلات» بولسا، بۇ سىياسەتنى بىۋاسىتە ئىپادىلەڭ. ھەر بىر ۋاكالەتچى كىملىكى ئۈچۈن بىر سېمافور ساقلاپ، ئۇنى ۋاكالەتچىنىڭ ئىقتىدارىنى سەرپ قىلىدىغان خىزمەتنىڭ ئەتراپىدا ئېلىڭ.

limits = {proxy: asyncio.Semaphore(4) for proxy in proxy_urls}

async def fetch(session, proxy, url):
    async with limits[proxy]:
        async with session.get(url, proxy=proxy) as response:
            return await response.read()

بۇ لايىھە asyncio ئىمپورت قىلىنغان ۋە ۋاكالەتچى URL لىرى دەلىللەنگەن دەپ پەرەز قىلىدۇ. رۇخسەت قىلىنغان ئاممىۋى ۋاكالەتچى يولىدىكى ئاممىۋى تەلەپلەر ئۈچۈن، HTTP ۋاكالەتچى تىزىملىكى aiohttp نىڭ ۋاكالەتچى URL لىرى ئۈچۈن نامزاتلارنى تەمىنلەيدۇ. ھەقىقىي پروگرامما ئۆزىنىڭ تەلەپ ۋاقىت چېكىنى تەڭشەپ، قانچىلىك جاۋاب سانلىق مەلۇماتى كېرەكلىكىنى قارار قىلىشى كېرەك. چوڭ ھۆججەتنى پۈتۈنلەي ئەستە ساقلاشقا ئوقۇش ئايرىم بايلىق قارارى.

قىممەت قىسىم ئۈچۈن رۇخسەتنى ساقلاڭ

جاۋاب باشلىقلىرى كەلگەن ھامان سېمافورنى قويۇپ بېرىش مەقسەت قىلىنغان چەكلىمىنى بۇزۇشى مۇمكىن. ئېقىملىق گەۋدە ئۇنىڭدىن كېيىن ئۇزۇن ۋاقىت ئۇلىنىشنى ئىشلىتىشى مۇمكىن. گەۋدە ئىشلىتىلىپ بولغانغا ياكى پروگراممىنىڭ خىزمەت ئېقىمىغا ئاساسەن جاۋاب تاقالغانغا قەدەر رۇخسەتنى ساقلاڭ.

ئىچكى قىستۇرما مەزمۇن باشقۇرغۇچىلىرى ئىستىسنا ياكى بىكار قىلىش مەشغۇلاتتىن چىققاندا تازىلىقنى كۆرۈنەرلىك قىلىدۇ. قولدا ئېلىش ۋە پەقەت مۇۋەپپەقىيەتلىك فۇنكسىيەنىڭ ئاستىدا قويۇپ بېرىشتىن ساقلىنىڭ.

ئۇلىنىش چەكلىمىلىرى باشقا سوئالغا جاۋاب بېرىدۇ

aiohttp نىڭ ئۇلىغۇچ چەكلىمىلىرى ئۇلىنىشلارنى ئۇلىغۇچنىڭ ھۆججەتلەشتۈرۈلگەن قائىدىلىرى بويىچە چەكلەيدۇ. ئۇلار پروگرامما سېمافورى بىلەن بىللە پايدىلىق بولۇپ قالىدۇ. ھەر بىر نىشانغا ئۇلىنىش چەكلىمىسى پەقەت نامى بىلەن بىر ۋاكالەتچىگە تەقسىملەنگەن بارلىق نىشانلار ئورتاقلىشىدىغان بۇدجېتنى ئىپادىلىمەيدۇ.

تەڭ ۋاقىتلىقلىقنى تەلەپ تېزلىكىدىن ئايرىڭ. تۆت ئۇزۇن مۇددەتلىك تەلەپ بىلەن تۆت ئىنتايىن قىسقا تەلەپ ئوخشاش تەڭ ۋاقىتلىق ئۇلۇشىنى ئىشلىتىپ، ئوخشىمىغان سېكۇنتتا تەلەپ تېزلىكى ھاسىل قىلىدۇ. تېزلىك سىياسىتى بار مۇلازىمەت تېمپونى تەڭشەش ياكى ئايرىم تېزلىك چەكلىگۈچنى تەلەپ قىلىشى مۇمكىن.

خاتىرە ۋە ئۆلچەم ئۈچۈن مۇقىم، مەخپىي بولمىغان ۋاكالەتچى كىملىكىنى تاللاڭ. ئەگەر گۇۋاھنامە كۆتۈرگەن ئىككى URL ئوخشاش ئىقتىدار كۆلچىكىگە ئىشارەت قىلسا، ئۇلارنىڭ بىر بۇدجېتنى ئورتاقلىشىشى كېرەك ياكى ئەمەسلىكىنى قارار قىلىڭ. ئەكسىچە، ئوخشىمىغان ئېغىز ياكى ھېسابات ئايرىم چەكلىمىلەرنى ئىپادىلىشى مۇمكىن، باشقۇرغۇچى ئۇلارنى شۇنداق ھۆججەتلەشتۈرگەندە.

ئۆتۈشۈش مىقدارى تۆۋەنلىگەندە، خىزمەتنىڭ قەيەردە ساقلاۋاتقانلىقىنى تەكشۈرۈڭ: سىزنىڭ سېمافورىڭىز، ئۇلىغۇچ، ۋاكالەتچى ئۇلىنىشىنى تەڭشەش ياكى جاۋابلارنى ئوقۇش. بارلىق چەكلىمىلەرنى بىرلا ۋاقىتتا ئۆرلىتىش بۇ پەرقنى قىيىنلاشتۇرىدۇ ۋە ئەپچىقىشنى سىز كونترول قىلمايدىغان ۋاكالەتچىگە يۆتكىشى مۇمكىن.

مۇناسىۋەتلىك ماقالىلەر