valtech / aem-easy-content-upgrade

AEM Easy Content Upgrade simplifies content migrations in AEM projects
Other
61 stars 25 forks source link

Running script details in history #227

Open radoslaw-czarnecki-wttech opened 4 months ago

radoslaw-czarnecki-wttech commented 4 months ago

As I observed, AECU groovy scripts with the state RUNNING don't have details telling us the path of the original groovy script. I see the path occurs in the child node after the state changes to FINISHED.

Is there any way to obtain the path of the running script? If not, is there any chance this feature will be added to the tool?

nhirrle commented 4 months ago

@radoslaw-czarnecki-wttech i'll have a look upcomming week

christinebaumann commented 4 months ago

Hello @radoslaw-czarnecki-wttech

I had a look at your request. Currently, we provide full details on what script is executed in two places: The logs, and the manual execution screen.

AECU will log basic information on what script is started, skipped (if applicable) and finished (including status). The logs are written by de.valtech.aecu.core.service.AecuServiceImpl on INFO level. We recommend to configure a separate logger to catch them, and we will extend documentation with this information. Of course, you can also have them be added to error.log, if you wish to. Example of the logs:

22.04.2024 10:40:30.666 *INFO* [[0:0:0:0:0:0:0:1] [1713775230652] GET /bin/public/valtech/aecu/execute.json HTTP/1.1] de.valtech.aecu.core.service.AecuServiceImpl Executing script /apps/aecu-scripts/longrunning-examples/1_wait_5s.groovy
22.04.2024 10:40:36.232 *INFO* [[0:0:0:0:0:0:0:1] [1713775230652] GET /bin/public/valtech/aecu/execute.json HTTP/1.1] de.valtech.aecu.core.service.AecuServiceImpl Executed script /apps/aecu-scripts/longrunning-examples/1_wait_5s.groovy with status OK
22.04.2024 10:40:36.255 *INFO* [[0:0:0:0:0:0:0:1] [1713775236253] GET /bin/public/valtech/aecu/execute.json HTTP/1.1] de.valtech.aecu.core.service.AecuServiceImpl Executing script /apps/aecu-scripts/longrunning-examples/2_listContent.groovy
22.04.2024 10:40:36.334 *INFO* [[0:0:0:0:0:0:0:1] [1713775236253] GET /bin/public/valtech/aecu/execute.json HTTP/1.1] de.valtech.aecu.core.service.AecuServiceImpl Executed script /apps/aecu-scripts/longrunning-examples/2_listContent.groovy with status OK
22.04.2024 10:40:36.352 *INFO* [[0:0:0:0:0:0:0:1] [1713775236351] GET /bin/public/valtech/aecu/execute.json HTTP/1.1] de.valtech.aecu.core.service.AecuServiceImpl Executing script /apps/aecu-scripts/longrunning-examples/3_wait_20s.groovy
22.04.2024 10:40:56.394 *INFO* [[0:0:0:0:0:0:0:1] [1713775236351] GET /bin/public/valtech/aecu/execute.json HTTP/1.1] de.valtech.aecu.core.service.AecuServiceImpl Executed script /apps/aecu-scripts/longrunning-examples/3_wait_20s.groovy with status OK

When you run one or multiple scripts manually, you will see a screen with information on which script is currently executing. However, as you probably noticed, if you navigate away from this screen, you won't have the possibility to get back to this screen. And of course, if you run scripts via hook, you will not see the progress in the UI, only the details in the history.

We understand that there is currently no way to see in the UI which script is running when you inspect the history of a current run. This is due to the design of the API of AecuService, which will write the current script's details only after execution finished. Changing it will mean changes to the API, so it will require a bit more effort than expected. Is it manageable for you to rely on the logs for now?

radoslaw-czarnecki-wttech commented 3 months ago

Unfortunately, we need to have the scripts execution data in our API and feed the data to the third party tool, so we cannot rely on logs.

christinebaumann commented 3 months ago

Then I'd like to understand your requirement a bit better to be able to suggest a solution. Are you using the UI, the hooks or JMX interface? And how does your process currently look to execute the scripts, obtain the data and feed it to the 3rd party tool?