what permission did you grant to role1 on the batch job and deploy job ? when did role1 get deployjob.read on the deploy job ?
I granted batchjob.* for the batch job for role1 and the deploy jobs associated with the batch job also has deployjob*
and then when i executed the batch job by executing against a target server i got the error deployjob.read for the deployjobs associated with it.