Fixed race condtion while importing history types for the first time.
This commit is contained in:
parent
0757228257
commit
e72d6c3fd4
1 changed files with 14 additions and 0 deletions
|
@ -1,9 +1,11 @@
|
|||
# rubocop:disable Style/ClassVars
|
||||
module Import
|
||||
module OTRS
|
||||
class History
|
||||
|
||||
def initialize(history)
|
||||
init_callback(history)
|
||||
ensure_history_attribute
|
||||
add
|
||||
end
|
||||
|
||||
|
@ -16,6 +18,18 @@ module Import
|
|||
def add
|
||||
::History.add(@history_attributes)
|
||||
end
|
||||
|
||||
# make sure that no other thread is importing just the same
|
||||
# history attribute which causes a ActiveRecord::RecordNotUnique
|
||||
# exception we (currently) can't handle otherwise
|
||||
def ensure_history_attribute
|
||||
history_attribute = @history_attributes[:history_attribute]
|
||||
return if !history_attribute
|
||||
@@created_history_attributes ||= {}
|
||||
return if @@created_history_attributes[history_attribute]
|
||||
@@created_history_attributes[history_attribute] = true
|
||||
::History.attribute_lookup(history_attribute)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue