Fix IO.pipe leak

* job.destroy called when job is deleted
* pipes are created and closed for each job run