diff options
author | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2012-02-19 12:13:26 +0100 |
---|---|---|
committer | Elrond <elrond+mediagoblin.org@samba-tng.org> | 2012-02-21 20:47:26 +0100 |
commit | 572d4f01ff3bee75574c00bc85bc8a2700ba9828 (patch) | |
tree | 995d096d0b764ab421369cb54ba7f853dba8e16a /mediagoblin/submit/views.py | |
parent | 99812bbc4a76735824708b341ea283f09a1b423c (diff) | |
download | mediagoblin-572d4f01ff3bee75574c00bc85bc8a2700ba9828.tar.lz mediagoblin-572d4f01ff3bee75574c00bc85bc8a2700ba9828.tar.xz mediagoblin-572d4f01ff3bee75574c00bc85bc8a2700ba9828.zip |
Use task_id in generating the queue file path
The task_id is created anyway as a UUID. So it is very
unique per definition. The only thing needed for the queue
file path is a unique part.
Before the objectid of the MediaEntry was used instead. But
in the sql world the objectid is only available after an
"insert" on the db. And creating the queue_file_path
afterwards would require an "update" on the db. We can save
that. ... for now.
Diffstat (limited to 'mediagoblin/submit/views.py')
-rw-r--r-- | mediagoblin/submit/views.py | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/mediagoblin/submit/views.py b/mediagoblin/submit/views.py index 845400ca..df5b15c0 100644 --- a/mediagoblin/submit/views.py +++ b/mediagoblin/submit/views.py @@ -78,11 +78,18 @@ def submit_start(request): # Generate a slug from the title entry.generate_slug() + # We generate this ourselves so we know what the taks id is for + # retrieval later. + + # (If we got it off the task's auto-generation, there'd be + # a risk of a race condition when we'd save after sending + # off the task) + task_id = unicode(uuid.uuid4()) # Now store generate the queueing related filename queue_filepath = request.app.queue_store.get_unique_filepath( ['media_entries', - unicode(entry._id), + task_id, secure_filename(filename)]) # queue appropriately @@ -95,14 +102,7 @@ def submit_start(request): # Add queued filename to the entry entry.queued_media_file = queue_filepath - # We generate this ourselves so we know what the taks id is for - # retrieval later. - - # (If we got it off the task's auto-generation, there'd be - # a risk of a race condition when we'd save after sending - # off the task) - task_id = unicode(uuid.uuid4()) - entry['queued_task_id'] = task_id + entry.queued_task_id = task_id # Save now so we have this data before kicking off processing entry.save(validate=True) |