Skip to content

Commit aaa7660

Browse files
committed
Enforce fiber isolation mode.
1 parent 7cef3a2 commit aaa7660

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

lib/async/job/adapter/active_job/railtie.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
require "async/job"
77
require "async/job/processor/inline"
88

9+
# For `config.active_support.isolation_level`.
10+
require "active_support/railtie"
11+
912
require_relative "thread_local_dispatcher"
1013

1114
module Async
@@ -65,6 +68,9 @@ def start(name = "default")
6568
end
6669

6770
config.async_job = self
71+
72+
# Ensure we have per-fiber isolation:
73+
config.active_support.isolation_level = :fiber
6874
end
6975
end
7076
end

test/async/job/adapter/active_job/railtie.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ def perform(*arguments, **options)
2727
expect(queue.server).to be_a(Async::Job::Processor::Inline)
2828
end
2929

30+
it "defaults to per-fiber isolation" do
31+
expect(subject.config.active_support.isolation_level).to be == :fiber
32+
end
33+
3034
with "#define_queue" do
3135
it "can define a queue with name conversion" do
3236
block = proc{"test definition"}

0 commit comments

Comments
 (0)