Alfresco Community uses LibreOffice for various content transformations. From time to time, certain transformations screw the Office server process. It stops responding to requests. There are most likely various triggers (type of transformation, actual document) for this misbehavior (endless loop, stuck, death, whatnot) of the process. There are alternatives preventing some of the issues, but it seems pretty hopeless to track everything down to the root cause and fix it.
The Community Edition uses the OODirect subsystem which also manages the lifecycle of the process. However, there is nothing in place to recover from a screwed/terminated process. The drop-in extension below provides this functionality. I have only tried it with Alfresco 5.1, but I think it should also work starting at 4.2.
To use it, drop it in
modules/platform. It won’t do anything unless you set a cron expression in
alfresco-global.properties like shown below.
contentreich.officeWatchDog.kill=true contentreich.officeWatchDog.cronExpression=0 */10 * * * ? contentreich.officeWatchDog.timeoutSeconds=60
timeoutSeconds parameter says how long you are willing to wait before you consider the process screwed,
kill will only work on a Unix system for now. The extension keeps track of the process, so it won’t work if you start/restart the Office process manually.
Enjoy! ;)Download Alfresco Office Watchdog