mirror of
https://github.com/meeb/tubesync.git
synced 2025-06-24 05:56:37 +00:00
Time some index functions
This commit is contained in:
parent
3f10e45e6a
commit
5f11779dc2
@ -183,16 +183,38 @@ def index_source_task(source_id):
|
|||||||
'''
|
'''
|
||||||
Indexes media available from a Source object.
|
Indexes media available from a Source object.
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
from common.utils import time_func, profile_func
|
||||||
|
def get_source(source_id):
|
||||||
|
@time_func
|
||||||
|
def f(sid):
|
||||||
|
return Source.objects.get(pk=sid)
|
||||||
|
rt = f(source_id)
|
||||||
|
elapsed = rt[1][0]
|
||||||
|
log.debug(f'get_source: took {elapsed:.6f} seconds')
|
||||||
|
return rt[0]
|
||||||
|
def time_model_function(instance, func):
|
||||||
|
@time_func
|
||||||
|
def f(o, c):
|
||||||
|
return o.c()
|
||||||
|
rt = f(instance, func)
|
||||||
|
elapsed = rt[1][0]
|
||||||
|
log.debug(f'time_model_function: {instance}: {func}: took {elapsed:.6f} seconds')
|
||||||
|
return rt[0]
|
||||||
|
|
||||||
try:
|
try:
|
||||||
source = Source.objects.get(pk=source_id)
|
#source = Source.objects.get(pk=source_id)
|
||||||
|
source = get_source(source_id)
|
||||||
except Source.DoesNotExist:
|
except Source.DoesNotExist:
|
||||||
# Task triggered but the Source has been deleted, delete the task
|
# Task triggered but the Source has been deleted, delete the task
|
||||||
return
|
return
|
||||||
# Reset any errors
|
# Reset any errors
|
||||||
source.has_failed = False
|
source.has_failed = False
|
||||||
source.save()
|
#source.save()
|
||||||
|
time_model_function(source, source.save)
|
||||||
# Index the source
|
# Index the source
|
||||||
videos = source.index_media()
|
#videos = source.index_media()
|
||||||
|
videos = time_model_function(source, source.index_media)
|
||||||
if not videos:
|
if not videos:
|
||||||
raise NoMediaException(f'Source "{source}" (ID: {source_id}) returned no '
|
raise NoMediaException(f'Source "{source}" (ID: {source_id}) returned no '
|
||||||
f'media to index, is the source key valid? Check the '
|
f'media to index, is the source key valid? Check the '
|
||||||
@ -200,7 +222,8 @@ def index_source_task(source_id):
|
|||||||
f'is reachable')
|
f'is reachable')
|
||||||
# Got some media, update the last crawl timestamp
|
# Got some media, update the last crawl timestamp
|
||||||
source.last_crawl = timezone.now()
|
source.last_crawl = timezone.now()
|
||||||
source.save()
|
#source.save()
|
||||||
|
time_model_function(source, source.save)
|
||||||
log.info(f'Found {len(videos)} media items for source: {source}')
|
log.info(f'Found {len(videos)} media items for source: {source}')
|
||||||
fields = lambda f, m: m.get_metadata_field(f)
|
fields = lambda f, m: m.get_metadata_field(f)
|
||||||
for video in videos:
|
for video in videos:
|
||||||
@ -221,7 +244,8 @@ def index_source_task(source_id):
|
|||||||
if published_dt is not None:
|
if published_dt is not None:
|
||||||
media.published = published_dt
|
media.published = published_dt
|
||||||
try:
|
try:
|
||||||
media.save()
|
#media.save()
|
||||||
|
time_model_function(media, media.save)
|
||||||
log.debug(f'Indexed media: {source} / {media}')
|
log.debug(f'Indexed media: {source} / {media}')
|
||||||
# log the new media instances
|
# log the new media instances
|
||||||
new_media_instance = (
|
new_media_instance = (
|
||||||
|
Loading…
Reference in New Issue
Block a user