Skip to content

Dockerized web workflow tries to run directly if "Edit XML" or "Advanced Edit" #2151

@ashiklom

Description

@ashiklom

Describe the bug
Using the Dockerized web interface -- if the user tries to edit the PEcAn XML through the web interface, the web container tries to execute the workflow itself (i.e. by calling $Rbinary) rather than posting a message to RabbitMQ to trigger the executor container. This silently fails (i.e. web workflow hangs) because none of the required components (including R itself) are available on the web container.

To Reproduce
Steps to reproduce the behavior:

  1. Run the Dockerized PEcAn web workflow.
  2. Select "Edit PEcAn XML"
  3. Save the XML and try to proceed with the workflow.

The "Job executing" page should hang with no output. A tiny little message in the web container logs will show something like sh: /usr/bin/R not found.

Expected behavior
Web container should post a message to RabbitMQ after PEcAn edit, which will be picked up by the executor and the workflow will proceed as before.

Machine (please complete the following information):
PEcAn Docker.

Proposed solution

Add the RabbitMQ submission code from 04-runpecan.php to whatever happens after pecan_edit, model_edit, etc.
As a band-aid, this can be copy-pasted, but a better solution would involve writing a PHP function (in common.php) to send a RabbitMQ message, which can then be re-used more easily.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions