Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
843c073f
Commit
843c073f
authored
Jun 16, 2015
by
John Eskew
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Re-nest for the signal-sending, then un-nest.
Change publish signal test to reflect new behavior.
parent
2b63ddb5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
14 additions
and
3 deletions
+14
-3
common/lib/xmodule/xmodule/modulestore/__init__.py
+9
-1
common/lib/xmodule/xmodule/modulestore/tests/test_mixed_modulestore.py
+5
-2
No files found.
common/lib/xmodule/xmodule/modulestore/__init__.py
View file @
843c073f
...
...
@@ -272,12 +272,20 @@ class BulkOperationsMixin(object):
dirty
=
self
.
_end_outermost_bulk_operation
(
bulk_ops_record
,
structure_key
)
self
.
_clear_bulk_ops_record
(
structure_key
)
# The bulk op has ended. However, the signal tasks below still need to use the
# built-up bulk op information (if the signals trigger tasks in the same thread).
# So re-nest until the signals are sent.
bulk_ops_record
.
nest
()
if
emit_signals
and
dirty
:
self
.
send_bulk_published_signal
(
bulk_ops_record
,
structure_key
)
self
.
send_bulk_library_updated_signal
(
bulk_ops_record
,
structure_key
)
# Signals are sent. Now unnest and clear the bulk op for good.
bulk_ops_record
.
unnest
()
self
.
_clear_bulk_ops_record
(
structure_key
)
def
_is_in_bulk_operation
(
self
,
course_key
,
ignore_case
=
False
):
"""
Return whether a bulk operation is active on `course_key`.
...
...
common/lib/xmodule/xmodule/modulestore/tests/test_mixed_modulestore.py
View file @
843c073f
...
...
@@ -2015,8 +2015,11 @@ class TestMixedModuleStore(CommonMixedModuleStoreSetup):
course_key
=
course
.
id
def
_clear_bulk_ops_record
(
course_key
):
# pylint: disable=unused-argument
""" Check if the signal has been fired. """
self
.
assertEqual
(
receiver
.
call_count
,
0
)
"""
Check if the signal has been fired.
The course_published signal fires before the _clear_bulk_ops_record.
"""
self
.
assertEqual
(
receiver
.
call_count
,
1
)
with
patch
.
object
(
self
.
store
.
thread_cache
.
default_store
,
'_clear_bulk_ops_record'
,
wraps
=
_clear_bulk_ops_record
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment