Add new startup script

This commit is contained in:
Thomas Sileo 2019-09-08 16:57:00 +02:00
parent 7f4be2cbc2
commit db10d8bcb5
3 changed files with 30 additions and 0 deletions

1
run.sh
View file

@ -1,5 +1,6 @@
#!/bin/bash
python -c "import logging; logging.basicConfig(level=logging.DEBUG); from core import migrations; migrations.perform()"
python -c "from core import indexes; indexes.create_indexes()"
python startup.py
(sleep 5 && curl -X POST -u :$POUSETACHES_AUTH_KEY $MICROBLOGPUB_POUSSETACHES_HOST/resume)&
gunicorn -t 600 -w 5 -b 0.0.0.0:5005 --log-level debug app:app

12
startup.py Normal file
View file

@ -0,0 +1,12 @@
import app # noqa: F401 # here to init the backend
from core.activitypub import _actor_hash
from core.shared import MY_PERSON
from core.shared import p
from core.tasks import Tasks
from utils.local_actor_cache import is_actor_updated
h = _actor_hash(MY_PERSON, local=True)
if is_actor_updated(h):
Tasks.send_actor_update()
p.push({}, "/task/cleanup", schedule="@every 1h")

View file

@ -0,0 +1,17 @@
from pathlib import Path
_CACHE_FILE = Path(__file__).parent.absolute() / ".." / "config" / "local_actor_hash"
def is_actor_updated(actor_hash: str) -> bool:
actor_updated = False
if _CACHE_FILE.exists():
current_hash = _CACHE_FILE.read_text()
if actor_hash != current_hash:
actor_updated = True
if actor_updated:
with _CACHE_FILE.open("w") as f:
f.write(actor_hash)
return actor_updated