-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Task-based layer #65
Comments
I agree I think it’s time we should be adding (or replacing with) |
It's 0.x so I agree doing the right thing soon, (including considering triggering light breaking changes) would be for the best. As mentioned in the OP, main thing I and presumably others would look for is But, FWIW, I still think It is definitely nice to, as you currently can, be able to eliminate all invocations of FSAWSDDB calls from your inquiries in one fell swoop wrt whether cancellation is wired correctly. (Though, when calling the current API from a The other elephant in the room is that the default semantics of
|
Logging this as a placeholder - it's more of a nice to have than something that I'd be personally investing the time to execute on at present.
In Equinox and Propulsion, I've recently transitioned to
task
fromasync
. This meansEquinox.DynamoStore
has a layer which is alltask
and/orTaskSeq
stuff, which then needs to call out toFSharp.AWS.DynamoDB
. Aside from the perf cost, the layers of redundant mapping also make it harder to diagnose/reason about exception mappings and the like.If one was building this lib today, arguably one would build it primarily with
task
in the first instance.For Equinox's purposes, the ideal would be to introduce a layer that exposes a
Task
-based API, and then layer the existing one over that. I suspect that over time there will be a growing number of usage scenarios where the caller istask
-based.One concern would be that realistically one would need to expose a
?ct
(or perhaps a non-optionalCancellationToken
arg) absolutely everywhere ... unless one waits for a long termcancellableTask
impl to gain currency).The text was updated successfully, but these errors were encountered: