Usually when a "Reporting <something>" job is having to sleep, it is because
some component referenced in that entity (that project, that resource, etc.)
is missing from the Reporting Database. We see this most often when a
Custom Field definition has not been transferred into the Reporting
Database. For consistency purposes, the Reporting Database cannot handle
values for metadata it knows nothing about.
What I suggest is trying another publish on an offending project, waiting
for it to go to sleep, then looking in the project server logs on the
application server. Once the Reporting job finds that it needs to sleep, it
will tell you exactly what field is missing in the logs at the time the
error occurs. At that point, you can simply cause an edit to happen on the
offending field (something as simple as editing the name of the custom
field), so that Reporting will be forced to try and sync that field again.
Once the field is properly synced, the sleeping job should go through just
fine (i.e. it will "wake up" in about 5 minutes and try again and succeed
this time).
HTH,
Sharry