Closed ezpzbz closed 4 years ago
These are implemented in base_restart
branch. The required error handling stuffs within the workchain need to be impleneted at plugin level. The reason is that we can spot if a subprocess has failed but relating it to the error cannot be done easily at this level.
Thefore, we define the exit codes in plugin, then we have an error parser which acts at workchain level. If it spots subprocess failures, it registers the error code coming from plugin. The handler then acts based on that (again at workchain level)
Currently, we are using the
BaseRestartWorkchain
fromaiida-vasp
plugin. It is the implementation that was introduced inaiida-quantumespresso
at the first place and then started to being used in every plugin. However, as it was quite useful,AiiDA
team has moved it to theaiida-core
and improved it by adding nice error handling mechanism. Therefore, it is a good idea that we also start using it in our workchain. It requires: