| Lokal_Profil added a comment. |
As a work around:
import time from pywikibot import config as pwb_config
batch_size = 30
rate_limit = 65 # default limit is 30 edits per 60 seconds
max_timeout = 300
# bump timeout
old_timeout = pwb_config.socket_timeout
pwb_config.socket_timeout = max_timeout
while True:
batch = pages[:batch_size]
pages = pages[batch_size:]
pre_timepoint = time.time()
result = self.site.purgepages(batch, **requestparams)
if pages:
duration = time.time()-pre_timepoint
time.sleep(max(0, (rate_limit-duration)))
else:
breakWhere pages are the pages you wish to purge and requestparams are any params (such as forcelinkupdate) which you might want to pass on to site.purgepages().
Even this still triggers the rate limit on rare occasions but overall was quite stable.
TASK DETAIL
EMAIL PREFERENCES
To: Lokal_Profil
Cc: Aklapper, Lokal_Profil, pywikibot-bugs-list, Magul, Tbscho, MayS, Mdupont, JJMC89, jayvdb, Dalba, Masti, Alchimista, Rxy
Cc: Aklapper, Lokal_Profil, pywikibot-bugs-list, Magul, Tbscho, MayS, Mdupont, JJMC89, jayvdb, Dalba, Masti, Alchimista, Rxy
_______________________________________________ pywikibot-bugs mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs
