Details
-
Bug
-
Resolution: Fixed
-
None
-
High
-
Empty show more show less
Description
problem
Impatient users start multiple exports of the same task. This leads to multiple export workers to the same task, which wait on each other.
This leads to non exportable other tasks and a lot of e-mails containing:
ZfExtended_Log on XXXX: Export folder not be found and therefore not zipped:
reproduction
- Take a task where the export it self runs about 10 - 20 seconds.
- Start the export (original export format), should be opened in a new window in the browser
- go back to the translate5 tab (or press escape on the tab waiting for the download)
- press again export
- Multiple Export and Exported Workers are created
solution
Set the worker to defunct if the export dir does not exist.
All other problems (possibility to start multiple exports for one session) should be handled with a redesign of the exports: provide a export window where the exports can be started. The window should contain a grid with all already done or running exports.
reason
For each queued export a ExportWorker and a ExportedWorker is created.
Export request 1 created ExportWorker 1 and ExportedWorker 1
The next Export request 2 creates ExportWorker 2 and ExportedWorker 2
Now the ExportWorker 1 is running, all other ExportWorker for the same task has to wait until ExportWorker 1 is finished. If this is the case the ExportedWorker 1 and ExportWorker 2 are starting.
If ExportedWorker 1 is finished, the zipped export data is send to the browser and deletes the folder where the data was exported, the ExportWorker 1 is now coming to an end, the ExportedWorker 2 tries to access the folder, but it does not exist anymore. That triggers the error emails, but the worker remains as waiting. On each next worker queue request the same email is triggered, all other exports are not started.