Track and stop site connected greenlets on delete
This commit is contained in:
parent
2ad3493fb0
commit
1c607645c7
6 changed files with 51 additions and 16 deletions
|
@ -61,7 +61,7 @@ class ContentDbPlugin(object):
|
|||
if self.need_filling:
|
||||
self.fillTableFileOptional(site)
|
||||
if not self.optional_files_loading:
|
||||
gevent.spawn_later(1, self.loadFilesOptional)
|
||||
site.greenlet_manager.spawnLater(1, self.loadFilesOptional)
|
||||
self.optional_files_loading = True
|
||||
|
||||
def checkTables(self):
|
||||
|
|
|
@ -70,7 +70,7 @@ class ContentDbPlugin(object):
|
|||
def savePeers(self, site, spawn=False):
|
||||
if spawn:
|
||||
# Save peers every hour (+random some secs to not update very site at same time)
|
||||
gevent.spawn_later(60 * 60 + random.randint(0, 60), self.savePeers, site, spawn=True)
|
||||
site.greenlet_manager.spawnLater(60 * 60 + random.randint(0, 60), self.savePeers, site, spawn=True)
|
||||
if not site.peers:
|
||||
site.log.debug("Peers not saved: No peers found")
|
||||
return
|
||||
|
@ -89,8 +89,8 @@ class ContentDbPlugin(object):
|
|||
|
||||
def initSite(self, site):
|
||||
super(ContentDbPlugin, self).initSite(site)
|
||||
gevent.spawn_later(0.5, self.loadPeers, site)
|
||||
gevent.spawn_later(60*60, self.savePeers, site, spawn=True)
|
||||
site.greenlet_manager.spawnLater(0.5, self.loadPeers, site)
|
||||
site.greenlet_manager.spawnLater(60*60, self.savePeers, site, spawn=True)
|
||||
|
||||
def saveAllPeers(self):
|
||||
for site in list(self.sites.values()):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue