- 
                Notifications
    
You must be signed in to change notification settings  - Fork 2
 
Scripting use cases
- 
Some instruments never want more than one scripts running simultaneously
- This is the "default" case for more than one instrument
 
 - 
Some instruments want to run multiple control scrips in parallel:
- LARMOR for example run a script that flips polarisation alongside a user script. Similar workflow on Vesuvio.
 
 - 
There is a use case for one "control" script and one "visualisation" script simultaneously
- the visualisation script can be purely read-only
 
 - 
Muons make no distinction between script, script server, script generator.
- Play about with some ideas in scripting
 - Then go to script generator to make full experimental script
 - Like the idea of editing a script which is sat in a queue
 
 - 
Improve script server training materials.
- But also has to be explainable to a (scientific) user in a short amount of time.
 - Has to be possible to run single lines (e.g. function calls with parameters)
 
 
- 
Only enable write from within script server?
- We would have to provide an override for some specific use cases
 
 - 
Disable writing while acquisition is running (e.g. oak ridge). This could run into issues at ISIS.
 - 
Enable load/execute in script server from within normal console window?
- have a genie_python command 
g.queue_on_server()? - Future of 
g.load_script() 
 - have a genie_python command 
 - 
As a user: go to script server, load script, execute it?
- I might want to edit my script.
 
 - 
load_script still loads script locally, but when I execute this function it should run on the script server?
 - 
Nicos has a comamand for
list_commands. We've currently only made it aware of g_p commands - 
Use standard python? e.g.
def main(): ... main() 
- 
g.run_file: loads and runs locally (right now) - 
g.queue_file: loads and runs in the script server (queues) - 
g.dry_run(queues in simulation mode - might be further in the future) - Need a (small) scripting console in the nicos perspective
 - Might need to disable queuing a script from within a script in the queue. Separate client/server g_p.