ਕ੍ਰਾਲਰ ਵਿੱਚ ਕਾਫ਼ੀ ਸਮਕਾਲੀ ਬੇਨਤੀਆਂ ਕੌਂਫਿਗਰ ਕੀਤੀਆਂ ਹੋਈਆਂ ਹਨ। ਫਿਰ ਵੀ ਜਦੋਂ ਇਹ ਪ੍ਰੌਕਸੀ ਪੂਲ ਤੋਂ ਦੂਜਾ ਪਤਾ ਮੰਗਦਾ ਹੈ ਤਾਂ ਰੁਕ ਜਾਂਦਾ ਹੈ। ਵੱਧ ਪ੍ਰੌਕਸੀ ਜੋੜਨ ਨਾਲ ਉਸ ਰੁਕਾਵਟ ਉੱਤੇ ਕੋਈ ਅਸਰ ਨਹੀਂ ਪੈਂਦਾ।

ਇੱਕ ਆਮ ਮਿਡਲਵੇਅਰ ਪੈਟਰਨ requests.get(pool_url) ਨੂੰ process_request() ਦੇ ਅੰਦਰ ਕਾਲ ਕਰਦਾ ਹੈ। ਇਹ ਅਜਿਹੇ ਮਾਰਗ ਉੱਤੇ ਸਿੰਕ੍ਰੋਨਸ ਨੈੱਟਵਰਕ ਕਾਰਵਾਈ ਹੈ ਜਿਸਨੂੰ Scrapy ਦੇ ਅਸਿੰਕ੍ਰੋਨਸ ਇੰਜਣ ਨਾਲ ਸਹਿਯੋਗ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਜਦੋਂ ਕਾਲ ਉਡੀਕ ਰਹੀ ਹੁੰਦੀ ਹੈ, ਇਹ ਉਸੇ ਈਵੈਂਟ-ਲੂਪ ਥ੍ਰੈਡ ਉੱਤੇ ਅਸੰਬੰਧਿਤ ਕੰਮ ਰੋਕ ਸਕਦੀ ਹੈ।

ਕੰਮ ਵਿੱਚ ਦੋ ਬੇਨਤੀਆਂ ਹਨ

ਇੱਕ ਬੇਨਤੀ ਪੂਲ ਸੇਵਾ ਤੋਂ ਐਂਡਪੌਇੰਟ ਲੈਂਦੀ ਹੈ। ਦੂਜੀ ਉਸ ਐਂਡਪੌਇੰਟ ਦੀ ਵਰਤੋਂ ਮੰਜ਼ਿਲ ਨਾਲ ਸੰਪਰਕ ਕਰਨ ਲਈ ਕਰਦੀ ਹੈ। ਦੋਵਾਂ ਨੂੰ ਵੱਖਰੇ ਤੌਰ ਉੱਤੇ ਮਾਪੋ ਅਤੇ ਰਿਪੋਰਟ ਕਰੋ। ਹੌਲੀ ਪੂਲ API ਐਪਲੀਕੇਸ਼ਨ ਜੁੜਨ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਹਰ ਚੁਣੀ ਪ੍ਰੌਕਸੀ ਨੂੰ ਹੌਲੀ ਦਿਖਾ ਸਕਦੀ ਹੈ।

ਇੰਸਟੌਲ ਕੀਤੇ Scrapy ਸੰਸਕਰਣ ਦੁਆਰਾ ਸਮਰਥਿਤ ਅਸਿੰਕ੍ਰੋਨਸ ਖੋਜ ਏਕੀਕਰਣ ਵਰਤੋ, ਜਾਂ ਹਰ ਬੇਨਤੀ ਦੇ ਨਾਜ਼ੁਕ ਮਾਰਗ ਤੋਂ ਬਾਹਰ ਸੀਮਿਤ ਸਥਾਨਕ ਐਂਡਪੌਇੰਟ ਸੈੱਟ ਪ੍ਰਾਪਤ ਕਰੋ ਅਤੇ ਤਾਜ਼ਾ ਰੱਖੋ। ਜੇ ਬਲਾਕਿੰਗ ਕੰਮ ਹਟਾਉਣਾ ਪਵੇ, ਤਾਂ ਉਸ ਐਗਜ਼ੀਕਿਊਟਰ ਨੂੰ ਆਪਣੀਆਂ ਸੀਮਾਵਾਂ ਅਤੇ ਟਾਈਮਆਊਟ ਸੰਭਾਲ ਦਿਓ; ਅਸੀਮਿਤ ਕਤਾਰ ਸਿਰਫ਼ ਦੇਰੀ ਦੀ ਥਾਂ ਬਦਲਦੀ ਹੈ।

ਹਰ ਬੇਨਤੀ ਲਈ ਆਪਣੇ-ਆਪ ਹੋਰ ਖੋਜ ਕਾਲ ਨਾ ਕਰੋ। ਘੱਟ ਸਮੇਂ ਦਾ ਕੈਸ਼ ਜਾਂ ਲੀਜ਼ ਉੱਤੇ ਲਿਆ ਬੈਚ ਪੂਲ ਸੇਵਾ ਉੱਤੇ ਨਿਰਭਰਤਾ ਘਟਾ ਸਕਦਾ ਹੈ, ਜੇ ਇਸਦੀ ਉਮਰ ਸੇਵਾ ਦੀ ਅਸਲ ਐਂਡਪੌਇੰਟ ਨੀਤੀ ਨਾਲ ਮੇਲ ਖਾਂਦੀ ਹੈ।

ਅਸਫਲ ਲੁੱਕਅਪ ਦਾ ਅਰਥ ਨਿਰਧਾਰਿਤ ਕਰੋ

ਖਾਲੀ ਜਾਂ ਅਸਫਲ ਪੂਲ ਜਵਾਬ ਨੂੰ ਪ੍ਰੌਕਸੀ ਮੈਟਾਡੇਟਾ ਚੁੱਪਚਾਪ ਹਟਾ ਕੇ ਸਿੱਧੀ ਬੇਨਤੀ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦੇਣੀ ਚਾਹੀਦੀ। ਸਪਸ਼ਟ ਨਤੀਜਾ ਚੁਣੋ: ਕੰਮ ਦੇ ਬਜਟ ਵਿੱਚ ਉਡੀਕ ਕਰਨਾ, ਅਸਫਲ ਹੋਣਾ, ਜਾਂ ਮਨਜ਼ੂਰ ਕੈਸ਼ ਕੀਤੇ ਐਂਡਪੌਇੰਟ ਦੀ ਵਰਤੋਂ ਕਰਨਾ।

ਪੂਲ API ਦਾ ਆਪਣਾ ਮਾਰਗ ਵੀ ਖੁੱਲ੍ਹਾ ਰੱਖੋ। ਜੇ ਇਹ ਅੰਦਰੂਨੀ ਸੇਵਾ ਹੈ, ਤਾਂ ਇਸਦਾ ਨਿੱਜੀ ਹੋਸਟਨਾਮ ਉਸੇ ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ ਭੇਜਣਾ ਜੋ ਇਸਨੂੰ ਚੁਣਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ, ਚੱਕਰੀ ਨਿਰਭਰਤਾ ਪੈਦਾ ਕਰ ਸਕਦਾ ਹੈ।

ਖੋਜ ਨੇ ਅਸੰਬੰਧਿਤ ਕੰਮ ਨੂੰ ਰੋਕੇ ਬਿਨਾਂ ਕੰਮ ਕੀਤਾ, ਤਾਂ ਆਮ ਪ੍ਰੌਕਸੀ ਲੈਣ-ਦੇਣ ਦੀ ਜਾਂਚ ਕਰੋ। ਇਹ ਵੱਖਰੀਆਂ ਮੁਰੰਮਤਾਂ ਹਨ, ਅਤੇ ਇਹਨਾਂ ਦਾ ਸਮਾਂ ਲੌਗ ਵਿੱਚ ਵੱਖਰੇ ਖੇਤਰਾਂ ਦਾ ਹੱਕਦਾਰ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ