Compare commits

..

2 commits

Author SHA1 Message Date
j
02a2d00f9d fix findPlace performance 2019-08-01 15:36:06 +02:00
j
9596248dc4 use refresh_from_db 2019-07-31 11:53:30 +02:00
4 changed files with 6 additions and 8 deletions

View file

@ -756,9 +756,8 @@ class Stream(models.Model):
ok, error = extract.stream(media, target, self.name(), info, flags=self.flags) ok, error = extract.stream(media, target, self.name(), info, flags=self.flags)
# file could have been moved while encoding # file could have been moved while encoding
# get current version from db and update # get current version from db and update
_self = Stream.objects.get(id=self.id) self.refresh_from_db()
_self.update_status(ok, error) self.update_status(ok, error)
return _self
def get_index(self): def get_index(self):
index = 1 index = 1

View file

@ -128,7 +128,7 @@ def process_stream(fileId):
stream = streams[0] stream = streams[0]
stream.make_timeline() stream.make_timeline()
stream.extract_derivatives() stream.extract_derivatives()
file = models.File.objects.get(id=fileId) file.refresh_from_db()
file.encoding = False file.encoding = False
file.save() file.save()
file.item.update_selected() file.item.update_selected()
@ -158,13 +158,12 @@ def extract_stream(fileId):
if created: if created:
file.extract_frames() file.extract_frames()
stream.media.name = stream.path(stream.name()) stream.media.name = stream.path(stream.name())
stream = stream.encode() stream.encode()
if stream.available: if stream.available:
stream.make_timeline() stream.make_timeline()
stream.extract_derivatives() stream.extract_derivatives()
file.extract_tracks() file.extract_tracks()
# get current version from db file.refresh_from_db()
file = models.File.objects.get(id=fileId)
if not file.item.rendered \ if not file.item.rendered \
and not file.item.files.exclude(id=fileId).filter(Q(queued=True) | Q(encoding=True)).count(): and not file.item.files.exclude(id=fileId).filter(Q(queued=True) | Q(encoding=True)).count():
file.item.update_timeline() file.item.update_timeline()

View file

@ -141,4 +141,5 @@ class PlaceManager(Manager):
user) user)
if conditions: if conditions:
qs = qs.filter(conditions) qs = qs.filter(conditions)
qs = qs.distinct()
return qs return qs

View file

@ -239,7 +239,6 @@ def findPlaces(request, data):
qs = order_query(query['qs'], query['sort']) qs = order_query(query['qs'], query['sort'])
qs = qs.distinct() qs = qs.distinct()
if 'keys' in data: if 'keys' in data:
qs = qs.select_related('user__profile')
qs = qs[query['range'][0]:query['range'][1]] qs = qs[query['range'][0]:query['range'][1]]
response['data']['items'] = [p.json(data['keys'], request.user) for p in qs] response['data']['items'] = [p.json(data['keys'], request.user) for p in qs]
elif 'position' in query: elif 'position' in query: