DEV: Prevent multiple translation per post (#1443)
We're seeing an aggressive number of translations being enqueued for a single post and locale. Historically, we trigger translation on `cooked` not `raw`, but that has changed a while back. ``` # from AiApiAuditLog, the same post is getting translated to the same locale within a few secs of each other zh_CN - 2025-06-17 13:02:31 UTC zh_CN - 2025-06-17 13:02:34 UTC zh_CN - 2025-06-17 13:02:35 UTC zh_CN - 2025-06-17 13:02:36 UTC zh_CN - 2025-06-17 13:02:38 UTC zh_CN - 2025-06-17 13:02:39 UTC zh_CN - 2025-06-17 13:02:40 UTC zh_CN - 2025-06-17 13:02:40 UTC zh_CN - 2025-06-17 13:02:43 UTC zh_CN - 2025-06-17 13:02:44 UTC ``` This PR prevents this from happening.
This commit is contained in:
parent
6dbe19a772
commit
d7a2af5505
|
@ -2,6 +2,7 @@
|
|||
|
||||
module Jobs
|
||||
class DetectTranslatePost < ::Jobs::Base
|
||||
cluster_concurrency 1
|
||||
sidekiq_options retry: false
|
||||
|
||||
def execute(args)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
module Jobs
|
||||
class DetectTranslateTopic < ::Jobs::Base
|
||||
cluster_concurrency 1
|
||||
sidekiq_options retry: false
|
||||
|
||||
def execute(args)
|
||||
|
|
|
@ -4,7 +4,7 @@ module DiscourseAi
|
|||
module Translation
|
||||
class EntryPoint
|
||||
def inject_into(plugin)
|
||||
plugin.on(:post_process_cooked) do |_, post|
|
||||
plugin.on(:post_created) do |post|
|
||||
if SiteSetting.discourse_ai_enabled && SiteSetting.ai_translation_enabled
|
||||
Jobs.enqueue(:detect_translate_post, post_id: post.id)
|
||||
end
|
||||
|
|
|
@ -11,9 +11,8 @@ describe DiscourseAi::Translation::EntryPoint do
|
|||
|
||||
describe "upon post process cooked" do
|
||||
it "enqueues detect post locale and translate post job" do
|
||||
post = Fabricate(:post)
|
||||
CookedPostProcessor.new(post).post_process
|
||||
|
||||
post =
|
||||
PostCreator.create!(Fabricate(:user), raw: "post", title: "topic", skip_validations: true)
|
||||
expect_job_enqueued(job: :detect_translate_post, args: { post_id: post.id })
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue