Jordan Davies put the Jets ahead with a third minute penalty before both sides tried to run the ball across the width of the excellent Heywood Road pitch.
Fly half Davies nudged Jets further ahead with two more penalties before the game's first try on 31 minutes, with Davies finishing off a sweeping backs' move.
Winger Royle went over for try two before the break while the final attack of the first half saw Worcester fullback Ben Howard collect a high ball and take off on a decent run until he was stopped in his tracks by Jacob.
Worcester's George Porter and Howard made good breaks from defence at the start of the second half, but the impetus swiftly returned to the home side as Jennings and Doyle made significant surges before try three arrived after 65 minutes when Royle crossed.
Four minutes later, a James chip and chase led to a try from the supporting Jennings for the bonus point.
Worcester continued to try and make the most of limited possession but with two minutes of play left, a strong drive from Flynn set up a try on the left for James, who converted his own effort.