Skip to content

Commit 75bca3f

Browse files
committed
PR comments
1 parent a4d35d4 commit 75bca3f

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

Sources/JobsPostgres/PostgresJobsQueue.swift

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -142,21 +142,17 @@ public final class PostgresJobQueue: JobQueueDriver, CancellableJobQueue, Resuma
142142
let pollTime: Duration
143143
/// Which Queue to push jobs into
144144
let queueName: String
145-
/// What to do with cancelled jobs
146-
let deleteCancelledJobs: Bool
147145

148146
/// Initialize configuration
149147
/// - Parameters
150148
/// - pollTime: Queue poll time to wait if queue empties
151149
/// - queueName: Name of queue we are handing
152150
public init(
153151
pollTime: Duration = .milliseconds(100),
154-
queueName: String = "default",
155-
deleteCancelledJobs: Bool = true
152+
queueName: String = "default"
156153
) {
157154
self.pollTime = pollTime
158155
self.queueName = queueName
159-
self.deleteCancelledJobs = deleteCancelledJobs
160156
}
161157
}
162158

@@ -198,11 +194,7 @@ public final class PostgresJobQueue: JobQueueDriver, CancellableJobQueue, Resuma
198194
public func cancel(jobID: JobID) async throws {
199195
try await self.client.withTransaction(logger: logger) { connection in
200196
try await deleteFromQueue(jobID: jobID, connection: connection)
201-
if configuration.deleteCancelledJobs {
202-
try await delete(jobID: jobID)
203-
} else {
204-
try await setStatus(jobID: jobID, status: .cancelled, connection: connection)
205-
}
197+
try await delete(jobID: jobID)
206198
}
207199
}
208200

Tests/JobsPostgresTests/JobsTests.swift

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -752,16 +752,30 @@ final class JobsTests: XCTestCase {
752752
static let jobName = "testCancellableJob"
753753
let value: Int
754754
}
755+
struct NoneCancelledJobParameters: JobParameters {
756+
static let jobName = "NoneCancelledJob"
757+
let value: Int
758+
}
755759
let expectation = XCTestExpectation(description: "TestJob.execute was called", expectedFulfillmentCount: 1)
756-
let jobExecutionSequence: NIOLockedValueBox<[Int]> = .init([])
760+
let didRunCancelledJob: NIOLockedValueBox<Bool> = .init(false)
761+
let didRunNoneCancelledJob: NIOLockedValueBox<Bool> = .init(false)
757762

758763
let jobQueue = try await self.createJobQueue(numWorkers: 1, configuration: .init(), function: #function)
759764

760765
try await testPriorityJobQueue(jobQueue: jobQueue) { queue in
761766
queue.registerJob(parameters: TestParameters.self) { parameters, context in
762767
context.logger.info("Parameters=\(parameters.value)")
763-
jobExecutionSequence.withLockedValue {
764-
$0.append(parameters.value)
768+
didRunCancelledJob.withLockedValue {
769+
$0 = true
770+
}
771+
try await Task.sleep(for: .milliseconds(Int.random(in: 10..<50)))
772+
expectation.fulfill()
773+
}
774+
775+
queue.registerJob(parameters: NoneCancelledJobParameters.self) { parameters, context in
776+
context.logger.info("Parameters=\(parameters.value)")
777+
didRunNoneCancelledJob.withLockedValue {
778+
$0 = true
765779
}
766780
try await Task.sleep(for: .milliseconds(Int.random(in: 10..<50)))
767781
expectation.fulfill()
@@ -775,7 +789,7 @@ final class JobsTests: XCTestCase {
775789
)
776790

777791
try await queue.push(
778-
TestParameters(value: 2025),
792+
NoneCancelledJobParameters(value: 2025),
779793
options: .init(
780794
priority: .highest()
781795
)
@@ -794,15 +808,14 @@ final class JobsTests: XCTestCase {
794808
}
795809

796810
await fulfillment(of: [expectation], timeout: 10)
797-
// Job has been removed
811+
// Jobs has been removed
798812
let cancelledJobs = try await jobQueue.queue.getJobs(withStatus: .cancelled)
799813
XCTAssertEqual(cancelledJobs.count, 0)
800814

801815
await serviceGroup.triggerGracefulShutdown()
802-
803-
try await jobQueue.queue.delete(jobID: cancellableJob)
804816
}
805817
}
806-
XCTAssertEqual(jobExecutionSequence.withLockedValue { $0 }, [2025])
818+
XCTAssertEqual(didRunCancelledJob.withLockedValue { $0 }, false)
819+
XCTAssertEqual(didRunNoneCancelledJob.withLockedValue { $0 }, true)
807820
}
808821
}

0 commit comments

Comments
 (0)