Hi,

In datasync_run.php, although the script cleans up zombies used to run jobs, it doesn't clean up its zombies used to run the post hooks. These post hooks are run on every loop, regardless of whether there were any jobs to run (not sure if this should be the case though...), so every 20 seconds another zombie process is created until the script reaches its one-hour execution limit and quits, finally cleaning up all the zombie processes. This means 180 zombie processes at peak.

I've made a simple patch that includes the post hook processes in the $children array so they get waited on like the job processes do (nonblocking though). This means there is usually only one zombie process sitting around.

Thanks

CommentFileSizeAuthor
datasync_run.php_.posthookzombie.patch613 bytesneilnz

Comments

andrewlevine’s picture

Status: Needs review » Fixed

many thanks Neil. committed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.