forked from indymedia/epicyon
Archive daily
parent
8703f86c05
commit
8551e1e3a7
8
cache.py
8
cache.py
|
@ -66,14 +66,6 @@ def expirePersonCache(personCache: {}):
|
||||||
del personCache[personUrl]
|
del personCache[personUrl]
|
||||||
print(str(len(removals))+' actors were expired from the cache')
|
print(str(len(removals))+' actors were expired from the cache')
|
||||||
|
|
||||||
def expireCache(baseDir: str,personCache: {}):
|
|
||||||
"""Cache expiry thread
|
|
||||||
"""
|
|
||||||
while True:
|
|
||||||
# once per day
|
|
||||||
time.sleep(60*60*24)
|
|
||||||
expirePersonCache(basedir,personCache)
|
|
||||||
|
|
||||||
def storeWebfingerInCache(handle: str,wf,cachedWebfingers: {}) -> None:
|
def storeWebfingerInCache(handle: str,wf,cachedWebfingers: {}) -> None:
|
||||||
"""Store a webfinger endpoint in the cache
|
"""Store a webfinger endpoint in the cache
|
||||||
"""
|
"""
|
||||||
|
|
13
daemon.py
13
daemon.py
|
@ -43,6 +43,7 @@ from posts import createFollowersOnlyPost
|
||||||
from posts import createDirectMessagePost
|
from posts import createDirectMessagePost
|
||||||
from posts import populateRepliesJson
|
from posts import populateRepliesJson
|
||||||
from posts import addToField
|
from posts import addToField
|
||||||
|
from posts import expireCache
|
||||||
from inbox import inboxPermittedMessage
|
from inbox import inboxPermittedMessage
|
||||||
from inbox import inboxMessageHasParams
|
from inbox import inboxMessageHasParams
|
||||||
from inbox import runInboxQueue
|
from inbox import runInboxQueue
|
||||||
|
@ -109,7 +110,6 @@ from announce import createAnnounce
|
||||||
from announce import outboxAnnounce
|
from announce import outboxAnnounce
|
||||||
from content import addHtmlTags
|
from content import addHtmlTags
|
||||||
from media import removeMetaData
|
from media import removeMetaData
|
||||||
from cache import expireCache
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
@ -2892,6 +2892,7 @@ def runDaemon(projectVersion, \
|
||||||
# max POST size of 10M
|
# max POST size of 10M
|
||||||
httpd.projectVersion=projectVersion
|
httpd.projectVersion=projectVersion
|
||||||
httpd.maxPostLength=1024*1024*10
|
httpd.maxPostLength=1024*1024*10
|
||||||
|
httpd.maxPostsInBox=256
|
||||||
httpd.domain=domain
|
httpd.domain=domain
|
||||||
httpd.port=port
|
httpd.port=port
|
||||||
httpd.domainFull=domain
|
httpd.domainFull=domain
|
||||||
|
@ -2949,10 +2950,18 @@ def runDaemon(projectVersion, \
|
||||||
print('Creating actors cache')
|
print('Creating actors cache')
|
||||||
os.mkdir(baseDir+'/cache/actors')
|
os.mkdir(baseDir+'/cache/actors')
|
||||||
|
|
||||||
|
archiveDir=baseDir+'/archive'
|
||||||
|
if not os.path.isdir(archiveDir):
|
||||||
|
print('Creating archive')
|
||||||
|
os.mkdir(archiveDir)
|
||||||
|
|
||||||
print('Creating cache expiry thread')
|
print('Creating cache expiry thread')
|
||||||
httpd.thrCache= \
|
httpd.thrCache= \
|
||||||
threadWithTrace(target=expireCache, \
|
threadWithTrace(target=expireCache, \
|
||||||
args=(baseDir,httpd.personCache),daemon=True)
|
args=(baseDir,httpd.personCache, \
|
||||||
|
httpd.httpPrefix, \
|
||||||
|
archiveDir, \
|
||||||
|
httpdmaxPostsInBox),daemon=True)
|
||||||
httpd.thrCache.start()
|
httpd.thrCache.start()
|
||||||
|
|
||||||
print('Creating inbox queue')
|
print('Creating inbox queue')
|
||||||
|
|
10
posts.py
10
posts.py
|
@ -21,6 +21,7 @@ from collections import OrderedDict
|
||||||
from threads import threadWithTrace
|
from threads import threadWithTrace
|
||||||
from cache import storePersonInCache
|
from cache import storePersonInCache
|
||||||
from cache import getPersonFromCache
|
from cache import getPersonFromCache
|
||||||
|
from cache import expirePersonCache
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
from random import randint
|
from random import randint
|
||||||
from session import createSession
|
from session import createSession
|
||||||
|
@ -1706,6 +1707,15 @@ def createBoxBase(baseDir: str,boxname: str, \
|
||||||
return boxHeader
|
return boxHeader
|
||||||
return boxItems
|
return boxItems
|
||||||
|
|
||||||
|
def expireCache(baseDir: str,personCache: {},httpPrefix: str,archiveDir: str,maxPostsInBox=256):
|
||||||
|
"""Thread used to expire actors from the cache and archive old posts
|
||||||
|
"""
|
||||||
|
while True:
|
||||||
|
# once per day
|
||||||
|
time.sleep(60*60*24)
|
||||||
|
expirePersonCache(basedir,personCache)
|
||||||
|
archivePosts(baseDir,httpPrefix,archiveDir,maxPostsInBox)
|
||||||
|
|
||||||
def archivePosts(baseDir: str,httpPrefix: str,archiveDir: str,maxPostsInBox=256) -> None:
|
def archivePosts(baseDir: str,httpPrefix: str,archiveDir: str,maxPostsInBox=256) -> None:
|
||||||
"""Archives posts for all accounts
|
"""Archives posts for all accounts
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue