mirror of
https://github.com/sissbruecker/linkding
synced 2024-11-22 03:13:02 +00:00
Setup logging for background tasks
This commit is contained in:
parent
1b35d5b5ef
commit
b94eaee833
3 changed files with 39 additions and 9 deletions
|
@ -29,28 +29,28 @@ def create_web_archive_snapshot(user: User, bookmark: Bookmark, force_update: bo
|
||||||
|
|
||||||
def _load_newest_snapshot(bookmark: Bookmark):
|
def _load_newest_snapshot(bookmark: Bookmark):
|
||||||
try:
|
try:
|
||||||
logger.debug(f'Load existing snapshot for bookmark. url={bookmark.url}')
|
logger.info(f'Load existing snapshot for bookmark. url={bookmark.url}')
|
||||||
cdx_api = bookmarks.services.wayback.CustomWaybackMachineCDXServerAPI(bookmark.url)
|
cdx_api = bookmarks.services.wayback.CustomWaybackMachineCDXServerAPI(bookmark.url)
|
||||||
existing_snapshot = cdx_api.newest()
|
existing_snapshot = cdx_api.newest()
|
||||||
|
|
||||||
if existing_snapshot:
|
if existing_snapshot:
|
||||||
bookmark.web_archive_snapshot_url = existing_snapshot.archive_url
|
bookmark.web_archive_snapshot_url = existing_snapshot.archive_url
|
||||||
bookmark.save()
|
bookmark.save()
|
||||||
logger.debug(f'Using newest snapshot. url={bookmark.url} from={existing_snapshot.datetime_timestamp}')
|
logger.info(f'Using newest snapshot. url={bookmark.url} from={existing_snapshot.datetime_timestamp}')
|
||||||
|
|
||||||
except NoCDXRecordFound:
|
except NoCDXRecordFound:
|
||||||
logger.error(f'Could not find any snapshots for bookmark. url={bookmark.url}')
|
logger.info(f'Could not find any snapshots for bookmark. url={bookmark.url}')
|
||||||
except WaybackError as error:
|
except WaybackError as error:
|
||||||
logger.error(f'Failed to load existing snapshot. url={bookmark.url}', exc_info=error)
|
logger.error(f'Failed to load existing snapshot. url={bookmark.url}', exc_info=error)
|
||||||
|
|
||||||
|
|
||||||
def _create_snapshot(bookmark: Bookmark):
|
def _create_snapshot(bookmark: Bookmark):
|
||||||
logger.debug(f'Create new snapshot for bookmark. url={bookmark.url}...')
|
logger.info(f'Create new snapshot for bookmark. url={bookmark.url}...')
|
||||||
archive = waybackpy.WaybackMachineSaveAPI(bookmark.url, DEFAULT_USER_AGENT, max_tries=1)
|
archive = waybackpy.WaybackMachineSaveAPI(bookmark.url, DEFAULT_USER_AGENT, max_tries=1)
|
||||||
archive.save()
|
archive.save()
|
||||||
bookmark.web_archive_snapshot_url = archive.archive_url
|
bookmark.web_archive_snapshot_url = archive.archive_url
|
||||||
bookmark.save()
|
bookmark.save()
|
||||||
logger.debug(f'Successfully created new snapshot for bookmark:. url={bookmark.url}')
|
logger.info(f'Successfully created new snapshot for bookmark:. url={bookmark.url}')
|
||||||
|
|
||||||
|
|
||||||
@background()
|
@background()
|
||||||
|
@ -71,8 +71,8 @@ def _create_web_archive_snapshot_task(bookmark_id: int, force_update: bool):
|
||||||
except TooManyRequestsError:
|
except TooManyRequestsError:
|
||||||
logger.error(
|
logger.error(
|
||||||
f'Failed to create snapshot due to rate limiting, trying to load newest snapshot as fallback. url={bookmark.url}')
|
f'Failed to create snapshot due to rate limiting, trying to load newest snapshot as fallback. url={bookmark.url}')
|
||||||
except WaybackError:
|
except WaybackError as error:
|
||||||
logger.error(f'Failed to create snapshot, trying to load newest snapshot as fallback. url={bookmark.url}')
|
logger.error(f'Failed to create snapshot, trying to load newest snapshot as fallback. url={bookmark.url}', exc_info=error)
|
||||||
|
|
||||||
# Load the newest snapshot as fallback
|
# Load the newest snapshot as fallback
|
||||||
_load_newest_snapshot(bookmark)
|
_load_newest_snapshot(bookmark)
|
||||||
|
|
|
@ -28,6 +28,35 @@ if host_name:
|
||||||
else:
|
else:
|
||||||
ALLOWED_HOSTS = ['*']
|
ALLOWED_HOSTS = ['*']
|
||||||
|
|
||||||
|
# Logging
|
||||||
|
LOGGING = {
|
||||||
|
'version': 1,
|
||||||
|
'disable_existing_loggers': False,
|
||||||
|
'formatters': {
|
||||||
|
'simple': {
|
||||||
|
'format': '{asctime} {levelname} {message}',
|
||||||
|
'style': '{',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'handlers': {
|
||||||
|
'console': {
|
||||||
|
'class': 'logging.StreamHandler',
|
||||||
|
'formatter': 'simple'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'root': {
|
||||||
|
'handlers': ['console'],
|
||||||
|
'level': 'WARN',
|
||||||
|
},
|
||||||
|
'loggers': {
|
||||||
|
'bookmarks': {
|
||||||
|
'level': 'INFO',
|
||||||
|
'handlers': ['console'],
|
||||||
|
'propagate': False,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Import custom settings
|
# Import custom settings
|
||||||
# noinspection PyUnresolvedReferences
|
# noinspection PyUnresolvedReferences
|
||||||
from .custom import *
|
from .custom import *
|
||||||
|
|
|
@ -5,6 +5,7 @@ loglevel=info
|
||||||
[program:jobs]
|
[program:jobs]
|
||||||
user=www-data
|
user=www-data
|
||||||
command=sh background-tasks-wrapper.sh
|
command=sh background-tasks-wrapper.sh
|
||||||
stdout_logfile=/dev/stdout
|
stdout_logfile=background_tasks.log
|
||||||
stdout_logfile_maxbytes=0
|
stdout_logfile_maxbytes=10MB
|
||||||
|
stdout_logfile_backups=5
|
||||||
redirect_stderr=true
|
redirect_stderr=true
|
||||||
|
|
Loading…
Reference in a new issue