Start tracking posting failure
This commit is contained in:
parent
5bc655dfd3
commit
7f22622f9c
3 changed files with 47 additions and 5 deletions
31
core/remote.py
Normal file
31
core/remote.py
Normal file
|
@ -0,0 +1,31 @@
|
|||
from urllib.parse import urlparse
|
||||
|
||||
from core.db import _Q
|
||||
from core.db import update_one_remote
|
||||
from utils import now
|
||||
|
||||
|
||||
def server(url: str) -> str:
|
||||
return urlparse(url).netloc
|
||||
|
||||
|
||||
def _update(url: str, replace: _Q) -> None:
|
||||
update_one_remote({"server": server(url)}, replace, upsert=True)
|
||||
|
||||
|
||||
def track_successful_send(url: str) -> None:
|
||||
now_ = now()
|
||||
_update(
|
||||
url,
|
||||
{
|
||||
"$inc": {"successful_send": 1},
|
||||
"$set": {"last_successful_contact": now_, "last_contact": now_},
|
||||
},
|
||||
)
|
||||
return None
|
||||
|
||||
|
||||
def track_failed_send(url: str) -> None:
|
||||
now_ = now()
|
||||
_update(url, {"$inc": {"failed_send": 1}, "$set": {"last_contact": now_}})
|
||||
return None
|
Loading…
Add table
Add a link
Reference in a new issue