Package org.oxerr.webmagic.proxy
Class DelayedProxyProvider
java.lang.Object
org.oxerr.webmagic.proxy.DelayedProxyProvider
- All Implemented Interfaces:
Externalizable,Serializable,us.codecraft.webmagic.proxy.ProxyProvider
public class DelayedProxyProvider
extends Object
implements us.codecraft.webmagic.proxy.ProxyProvider, Externalizable
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<us.codecraft.webmagic.proxy.Proxy,DelayedProxy> private final org.apache.logging.log4j.Loggerprivate longprivate longprivate longprivate longprivate final DelayQueue<DelayedProxy>private long -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionMap<us.codecraft.webmagic.proxy.Proxy,DelayedProxy> protected DurationgetDelay(DelayedProxy delayedProxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task, boolean success) protected floatgetDelayFactor(DelayedProxy delayedProxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task, boolean success) us.codecraft.webmagic.proxy.ProxygetProxy(us.codecraft.webmagic.Request request, us.codecraft.webmagic.Task task) protected booleanisSuccess(us.codecraft.webmagic.proxy.Proxy proxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task) protected voidvoidput(us.codecraft.webmagic.proxy.Proxy proxy) voidvoidreturnProxy(us.codecraft.webmagic.proxy.Proxy proxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task) voidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface us.codecraft.webmagic.proxy.ProxyProvider
getProxy
-
Field Details
-
log
private final transient org.apache.logging.log4j.Logger log -
proxies
-
allProxies
-
minSuccessDelay
private long minSuccessDelay -
maxSuccessDelay
private long maxSuccessDelay -
minFailureDelay
private long minFailureDelay -
maxFailureDelay
private long maxFailureDelay -
waitTimeout
private long waitTimeout
-
-
Constructor Details
-
DelayedProxyProvider
public DelayedProxyProvider() -
DelayedProxyProvider
-
DelayedProxyProvider
-
-
Method Details
-
returnProxy
public void returnProxy(us.codecraft.webmagic.proxy.Proxy proxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task) - Specified by:
returnProxyin interfaceus.codecraft.webmagic.proxy.ProxyProvider
-
getProxy
public us.codecraft.webmagic.proxy.Proxy getProxy(us.codecraft.webmagic.Request request, us.codecraft.webmagic.Task task) - Specified by:
getProxyin interfaceus.codecraft.webmagic.proxy.ProxyProvider
-
put
public void put(us.codecraft.webmagic.proxy.Proxy proxy) -
getProxies
-
getAllProxies
-
writeExternal
- Specified by:
writeExternalin interfaceExternalizable- Throws:
IOException
-
readExternal
- Specified by:
readExternalin interfaceExternalizable- Throws:
IOExceptionClassNotFoundException
-
getDelay
protected Duration getDelay(DelayedProxy delayedProxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task, boolean success) -
getDelayFactor
protected float getDelayFactor(DelayedProxy delayedProxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task, boolean success) -
isSuccess
protected boolean isSuccess(us.codecraft.webmagic.proxy.Proxy proxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task) -
printInfo
protected void printInfo()
-