You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now that user controls the main function with the runtime v2, nothing prevents users to create multiple runtimes.
I tested the code below on Lambda and it works. Any of the two runtimes can pickup the invocation and respond. In my exemple, they're booth taking the same input parameter and there is not too much consequences. But if the user codes the two handler with different input types, the Lambda function will crash when the "incorrect" runtime picks up the event.
We should enforce the runtime as a singleton.
demo code
import AWSLambdaRuntime
let runtime1 = LambdaRuntime {
(event: String, context: LambdaContext) in
"Hello1 \(event)"
}
let runtime2 = LambdaRuntime {
(event: String, context: LambdaContext) in
"Hello2 \(event)"
}
try await withThrowingTaskGroup(of: Void.self) { group in
group.addTask {
try await runtime1.run()
}
group.addTask {
try await runtime2.run()
}
try await group.waitForAll()
}
The text was updated successfully, but these errors were encountered:
Now that user controls the
main
function with the runtime v2, nothing prevents users to create multiple runtimes.I tested the code below on Lambda and it works. Any of the two runtimes can pickup the invocation and respond. In my exemple, they're booth taking the same input parameter and there is not too much consequences. But if the user codes the two handler with different input types, the Lambda function will crash when the "incorrect" runtime picks up the event.
We should enforce the runtime as a singleton.
demo code
The text was updated successfully, but these errors were encountered: