DEV: use DB.after_commit instead of delaying the job
This commit is contained in:
parent
5ae570a088
commit
455147cabe
|
@ -257,10 +257,12 @@ after_initialize do
|
||||||
args[:old_trust_level] == TrustLevel[1]
|
args[:old_trust_level] == TrustLevel[1]
|
||||||
|
|
||||||
if SiteSetting.discourse_narrative_bot_enabled && promoted_from_tl1
|
if SiteSetting.discourse_narrative_bot_enabled && promoted_from_tl1
|
||||||
# NOTE: since the `user_promoted` event is triggered from inside a transaction
|
# The event 'user_promoted' is sometimes called from inside a transaction.
|
||||||
# we have to delay the job otherwise it might run before the transaction
|
# Use this helper to ensure the job is enqueued after commit to prevent
|
||||||
# is commited and the user will be invisible to the job
|
# any race conditions.
|
||||||
Jobs.enqueue_in(1.minute, :send_advanced_tutorial_message, user_id: args[:user_id])
|
DB.after_commit do
|
||||||
|
Jobs.enqueue(:send_advanced_tutorial_message, user_id: args[:user_id])
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue