-
-
Notifications
You must be signed in to change notification settings - Fork 157
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
Feature request: Expose the task modifiers and modifier args on a Task
object
#433
Comments
This dovetails nicely with the next RFC I'm working on, which is a public API for |
@maxfierke do you have a tracking issue for your RFC or anything similar that I can link to? 🙂 |
Not really 😬 just one of my many projects, but will try to get a write-up posted soon-ish |
@lougreenwood sorry for the long wait, but I have an RFC posted in #441 that will provide some exposure to this data (I think there's still some work to be done on how to access this. Through the task might be fine, but I'm also thinking about a |
This reminds me of something I semi-implemented back in 2016/2017 and might have even shipped undocumented in EC before removing it. I was basically trying to come up with really advanced use cases for Derived State, so that you could use properties of a task to answer the questions:
Maybe we could consider adding two more standard properties |
@machty your comment gets at another RFC I have in the back of my brain, for public could have those canPerform, canPerformSafe, etc. be a part of the SchedulerPolicy or something, and surface that through some Task metadata API |
@lougreenwood unfortunately didn't quite get to exposing this info for the Task Modifiers RFC released in 2.2.0, as there were some dependencies on Scheduler stuff that needs some work to be made more visible, but that's the next piece of work I'm going to work on for a 2.3.0. |
I have an
AsyncButton
component which can be used to trigger single or parallel task performs on click.Currently my API for controlling this requires knowledge of the task implementation to decide whether the button should be allowed to trigger additional tasks on click or disable the button when a single task is running:
Ideally, I would like to remove the need for this
allowConcurrency
flag and instead derive this from the type of task or the modifiers, for example, if the button could check if it is arestartableTask
, then the button would automatically disable concurrency, or if it were a standardTask withmaxConcurrency = 2
and one task is only running, thenallowConcurrency
is true, but when the user clicks again, theAsyncButton
component would detect hitting theallowConcurrency
limit and then automatically disable additional concurrency until a task completes.Ideally I suppose that the
Task
API would generically expose the type of modifier used and also any arguments passed to the modifier (include the defaultTask
"modifier").The text was updated successfully, but these errors were encountered: