Andrew,
There are a few ways to go about this. You can either access the database directly, and run "DELETE FROM delayed_jobs;", or open up script/console and run "Delayed::Job.delete_all". However, both of those are very blunt axes, and will probably delete some jobs that want/need to run. Instead, you should filter by tag: "DELETE FROM delayed_jobs WHERE tag='Message#deliver';" or "Delayed::Job.where(tag: 'Message#deliver').delete_all". Or you can go the slightly-friendlier route, and go to http://<your-canvas-install>/jobs and use the UI. You can select pending jobs there, and delete them.
On a final note, in a production environment you should generally have jobs *always* running, so you should rarely have this situation occur where there is a build up of messages that are no longer current.
Good luck,
Cody Cutrer
Software Engineer
Instructure