mirror of
https://github.com/discourse/discourse.git
synced 2025-06-03 19:39:30 +08:00
PERF: allow background jobs to flush between requests in same thread
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
# encoding: utf-8
|
||||
require 'spec_helper'
|
||||
require 'scheduler/scheduler'
|
||||
require_dependency 'scheduler/defer'
|
||||
|
||||
describe Scheduler::Defer do
|
||||
class DeferInstance
|
||||
@ -23,6 +23,32 @@ describe Scheduler::Defer do
|
||||
@defer.stop!
|
||||
end
|
||||
|
||||
it "can pause and resume" do
|
||||
x = 1
|
||||
@defer.pause
|
||||
|
||||
@defer.later do
|
||||
x = 2
|
||||
end
|
||||
|
||||
@defer.do_all_work
|
||||
|
||||
expect(x).to eq(2)
|
||||
|
||||
@defer.resume
|
||||
|
||||
|
||||
@defer.later do
|
||||
x = 3
|
||||
end
|
||||
|
||||
wait_for(10) do
|
||||
x == 3
|
||||
end
|
||||
|
||||
expect(x).to eq(3)
|
||||
end
|
||||
|
||||
it "recovers from a crash / fork" do
|
||||
s = nil
|
||||
@defer.stop!
|
||||
|
Reference in New Issue
Block a user