File tree 4 files changed +14
-18
lines changed
4 files changed +14
-18
lines changed Original file line number Diff line number Diff line change 53
53
bin/rails db:setup
54
54
- name : Run tests
55
55
run : bin/rails test
56
- - name : Run tests with separate connection
57
- run : SEPARATE_CONNECTION=1 bin/rails test
Original file line number Diff line number Diff line change @@ -28,9 +28,5 @@ class Application < Rails::Application
28
28
# config.eager_load_paths << Rails.root.join("extras")
29
29
30
30
config . active_job . queue_adapter = :solid_queue
31
-
32
- if ENV [ "SEPARATE_CONNECTION" ] && ENV [ "TARGET_DB" ] != "sqlite"
33
- config . solid_queue . connects_to = { database : { writing : :primary , reading : :replica } }
34
- end
35
31
end
36
32
end
Original file line number Diff line number Diff line change 47
47
# Raises error for missing translations.
48
48
# config.i18n.raise_on_missing_translations = true
49
49
50
+ # Replace the default in-process and non-durable queuing backend for Active Job.
51
+ config . active_job . queue_adapter = :solid_queue
52
+ config . solid_queue . connects_to = { database : { writing : :queue } }
53
+
50
54
# Annotate rendered view with file names.
51
55
# config.action_view.annotate_rendered_view_with_filenames = true
52
56
Original file line number Diff line number Diff line change @@ -249,21 +249,19 @@ class NonOverlappingGroupedJob2 < NonOverlappingJob
249
249
end
250
250
end
251
251
252
- if ENV [ "SEPARATE_CONNECTION" ] && ENV [ "TARGET_DB" ] != "sqlite"
253
- test "uses a different connection and transaction than the one in use when connects_to is specified" do
254
- assert_difference -> { SolidQueue ::Job . count } do
255
- assert_no_difference -> { JobResult . count } do
256
- JobResult . transaction do
257
- JobResult . create! ( queue_name : "default" , value : "this will be rolled back" )
258
- StoreResultJob . perform_later ( "enqueued inside a rolled back transaction" )
259
- raise ActiveRecord ::Rollback
260
- end
252
+ test "enqueue successfully inside a rolled-back transaction in the app DB" do
253
+ assert_difference -> { SolidQueue ::Job . count } do
254
+ assert_no_difference -> { JobResult . count } do
255
+ JobResult . transaction do
256
+ JobResult . create! ( queue_name : "default" , value : "this will be rolled back" )
257
+ StoreResultJob . perform_later ( "enqueued inside a rolled back transaction" )
258
+ raise ActiveRecord ::Rollback
261
259
end
262
260
end
263
-
264
- job = SolidQueue ::Job . last
265
- assert_equal "enqueued inside a rolled back transaction" , job . arguments . dig ( "arguments" , 0 )
266
261
end
262
+
263
+ job = SolidQueue ::Job . last
264
+ assert_equal "enqueued inside a rolled back transaction" , job . arguments . dig ( "arguments" , 0 )
267
265
end
268
266
269
267
private
You can’t perform that action at this time.
0 commit comments