releaseRun method

  1. @override
Future<void> releaseRun(
  1. String runId, {
  2. required String ownerId,
})

Releases the lease on runId when owned by ownerId.

Implementation

@override
Future<void> releaseRun(String runId, {required String ownerId}) async {
  final now = _clock.now().toUtc();
  await _connections.runInTransaction((ctx) async {
    await ctx
        .query<StemWorkflowRun>()
        .whereEquals('id', runId)
        .whereEquals('namespace', namespace)
        .whereEquals('ownerId', ownerId)
        .update({
          'ownerId': null,
          'leaseExpiresAt': null,
          'updatedAt': now,
        });
  });
}