add task queue api
This commit is contained in:
parent
0eb873d2cb
commit
e1cacdb67a
15 changed files with 257 additions and 7 deletions
|
|
@ -20,6 +20,7 @@ import ox.iso
|
|||
from item import utils
|
||||
import item.models
|
||||
from person.models import get_name_sort
|
||||
from taskqueue.models import Task
|
||||
|
||||
from chunk import save_chunk
|
||||
import extract
|
||||
|
|
@ -231,6 +232,7 @@ class File(models.Model):
|
|||
self.item = qs[0]
|
||||
if not self.item:
|
||||
self.item = item.models.get_item(info, user)
|
||||
Task.start(self.item, user)
|
||||
for key in self.AV_INFO + self.PATH_INFO:
|
||||
if key in info:
|
||||
self.info[key] = info[key]
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ from django.db.models import Q
|
|||
|
||||
from item.models import Item
|
||||
from item.tasks import update_poster
|
||||
from taskqueue.models import Task
|
||||
|
||||
import models
|
||||
import extract
|
||||
import external
|
||||
|
|
@ -96,6 +98,7 @@ def update_files(user, volume, files):
|
|||
i.update_selected()
|
||||
for i in update_timeline:
|
||||
i = Item.objects.get(public_id=i)
|
||||
Tasks.start(i, user)
|
||||
i.update_timeline()
|
||||
|
||||
@task(ignore_results=True, queue='default')
|
||||
|
|
@ -130,6 +133,7 @@ def process_stream(fileId):
|
|||
file.item.update_timeline()
|
||||
if file.item.rendered:
|
||||
file.item.save()
|
||||
Task.finish(file.item)
|
||||
models.File.objects.filter(id=fileId).update(encoding=False)
|
||||
return True
|
||||
|
||||
|
|
@ -158,6 +162,7 @@ def extract_stream(fileId):
|
|||
file.item.update_timeline()
|
||||
update_poster(file.item.public_id)
|
||||
file.extract_tracks()
|
||||
Task.finish(file.item)
|
||||
models.File.objects.filter(id=fileId).update(encoding=False)
|
||||
|
||||
@task(queue="encoding")
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ from item.views import parse_query
|
|||
import item.tasks
|
||||
from oxdjango.api import actions
|
||||
from changelog.models import add_changelog
|
||||
from taskqueue.models import Task
|
||||
|
||||
from . import models
|
||||
from . import queue
|
||||
|
|
@ -280,6 +281,7 @@ def firefogg_upload(request):
|
|||
f.save()
|
||||
if f.item.rendered and f.selected:
|
||||
Item.objects.filter(id=f.item.id).update(rendered=False)
|
||||
Task.start(f.item, request.user)
|
||||
response = {
|
||||
'uploadUrl': '/api/upload/?id=%s&profile=%s' % (f.oshash, profile),
|
||||
'url': request.build_absolute_uri('/%s' % f.item.public_id),
|
||||
|
|
@ -331,6 +333,7 @@ def direct_upload(request):
|
|||
Item.objects.filter(id=file.item.id).update(rendered=False)
|
||||
file.uploading = True
|
||||
file.save()
|
||||
Task.start(file.item, request.user)
|
||||
upload_url = request.build_absolute_uri('/api/upload/direct/?id=%s' % file.oshash)
|
||||
return render_to_json_response({
|
||||
'uploadUrl': upload_url,
|
||||
|
|
@ -423,6 +426,7 @@ def moveMedia(request, data):
|
|||
else:
|
||||
c.rendered = False
|
||||
c.save()
|
||||
Task.start(c, request.user)
|
||||
item.tasks.update_timeline.delay(public_id)
|
||||
response = json_response(text='updated')
|
||||
response['data']['item'] = i.public_id
|
||||
|
|
@ -470,6 +474,10 @@ def editMedia(request, data):
|
|||
if key == 'language' and (f.is_video or f.is_audio):
|
||||
save_items.add(f.item.id)
|
||||
if key == 'part' and (f.is_video or f.is_audio):
|
||||
if f.item.rendered:
|
||||
f.item.rendered = False
|
||||
f.item.save()
|
||||
Task.start(f.item, request.user)
|
||||
update_timeline.add(f.item.id)
|
||||
update = True
|
||||
if update:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue