Open whs92 opened 4 months ago
In this idea, when you restore a named batch of runs to the queue, it would be functionally identical to adding a series of queue items one-by-one, correct?
Could this be expanded to the following ideas:
Or do you see these as being implemented in a totally different fashion, at a different time?
I do think the proposal presented is elegantly simple, and useful as-is.
@cjtitus
In this idea, when you restore a named batch of runs to the queue, it would be functionally identical to adding a series of queue items one-by-one, correct?
Yes that was the intention.
I think adding by default a batch_name
and a batch_uid
is a good idea and let's us keep track of things.
I think batches of plans could be glued together if the client gui wanted to do that. I would not bake that in to the server though.
Thanks for your feedback!
P.S. we have discussed a name for this group/series/collection/queue of plans in the last months. I happened on "batch" because it was already used in the queueserver
Given that there is already an atomic add/remove API, can the be proto-typed fully client side first and then added to the server later? I suspect the exact data structures and atomic API that is needed will take some iteration to get right. At a minimum "dump to a yaml file in $HOME/.cache
" is good MVP path.
a batch_uid/batch_name that would link related queue items together
It is easy for the client to inject this as metadata into all of the runs it adds
groups of scans that are "glued" together, and can only be added/removed/reordered as a block
This is the same as writing a plan that does them all. There is bp.pchain
which may be worth special casing to allow a list of plans to be (with no flow control) concatenated at the QS level (or the serialization may "just work"?).
Users often want to run plans or sequences of plans they have run before. For example, they might have a series of plans that are always run as a survey of a sample, or to look at a particular feature etc.
If the plans are run often enough you could make a new plan containing them and then add that to the RE environment. For example:
However this involves some programming. You also loose the ability to reorder or modify the plans within this plan
survey_scan
.If instead it was possible to define and store named lists of plans which could be restored to the queue, then users of graphical interfaces to the queuserver could create their favorite series of plans by submitting things to the queue and then name them to be searched and restored later.
I think we could add the following commands to the re_manager_api.
name:str, the name to give this batch. Must be unique
user_group: str, the name of the user group (e.g. ‘primary’).
user: str,the name of the user (e.g. ‘Default User’). The name is included in the item metadata and may be used to identify the user who added the item to the database.
name:str, the name to give this batch. Must be unique
user_group: str, the name of the user group (e.g. ‘primary’).
user: str,the name of the user (e.g. ‘Default User’). The name is included in the item metadata and may be used to identify the user who named the item.
batches: dict of lists where each element in the list is a dictionary containing valid set of item parameters (see instructions for queue_item_add API).
This problem could be addressed a number of different ways, but I think putting it on the queueserver is beneficial because multiple clients might want to access what a particular user has submitted. Additionally if the client application stops, the lists of plans is not lost.