Eu começaria com a série de tutoriais de plugins para a estrutura básica de um plugin:
Se quiser um exemplo de como adicionar um job a um plugin, o plugin discourse-assign possui um que envia lembretes periódicos:
https://github.com/discourse/discourse-assign/blob/master/jobs/scheduled/enqueue_reminders.rb