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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private Map<us.codecraft.webmagic.proxy.Proxy,DelayedProxy>
allProxies
private org.apache.logging.log4j.Logger
log
private long
maxFailureDelay
private long
maxSuccessDelay
private long
minFailureDelay
private long
minSuccessDelay
private DelayQueue<DelayedProxy>
proxies
-
Constructor Summary
Constructors Constructor Description DelayedProxyProvider()
DelayedProxyProvider(Duration minSuccessDelay, Duration maxSuccessDelay, Duration minFailureDelay, Duration maxFailureDelay)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<us.codecraft.webmagic.proxy.Proxy,DelayedProxy>
getAllProxies()
protected Duration
getDelay(DelayedProxy delayedProxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task, boolean success)
protected float
getDelayFactor(DelayedProxy delayedProxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task, boolean success)
DelayQueue<DelayedProxy>
getProxies()
us.codecraft.webmagic.proxy.Proxy
getProxy(us.codecraft.webmagic.Task task)
protected boolean
isSuccess(us.codecraft.webmagic.proxy.Proxy proxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task)
protected void
printInfo()
void
put(us.codecraft.webmagic.proxy.Proxy proxy)
void
readExternal(ObjectInput in)
void
returnProxy(us.codecraft.webmagic.proxy.Proxy proxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task)
void
writeExternal(ObjectOutput out)
-
-
-
Field Detail
-
log
private final transient org.apache.logging.log4j.Logger log
-
proxies
private final transient DelayQueue<DelayedProxy> proxies
-
allProxies
private final transient Map<us.codecraft.webmagic.proxy.Proxy,DelayedProxy> allProxies
-
minSuccessDelay
private long minSuccessDelay
-
maxSuccessDelay
private long maxSuccessDelay
-
minFailureDelay
private long minFailureDelay
-
maxFailureDelay
private long maxFailureDelay
-
-
Method Detail
-
returnProxy
public void returnProxy(us.codecraft.webmagic.proxy.Proxy proxy, us.codecraft.webmagic.Page page, us.codecraft.webmagic.Task task)
- Specified by:
returnProxy
in interfaceus.codecraft.webmagic.proxy.ProxyProvider
-
getProxy
public us.codecraft.webmagic.proxy.Proxy getProxy(us.codecraft.webmagic.Task task)
- Specified by:
getProxy
in interfaceus.codecraft.webmagic.proxy.ProxyProvider
-
put
public void put(us.codecraft.webmagic.proxy.Proxy proxy)
-
getProxies
public DelayQueue<DelayedProxy> getProxies()
-
getAllProxies
public Map<us.codecraft.webmagic.proxy.Proxy,DelayedProxy> getAllProxies()
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
ClassNotFoundException
-
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()
-
-