Documented Worker
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

This commit is contained in:
Dominic Grimm 2022-02-07 20:58:24 +01:00
parent acb1f3a9d8
commit 5825969be9
5 changed files with 9 additions and 3 deletions

View file

@ -1,8 +1,5 @@
require "mosquito"
module Mosquito::Serializers::Array
end
module Mosquito::Serializers::Granite
macro serialize_granite_model(klass)
{% method_suffix = klass.resolve.stringify.underscore.gsub(/::/, "__").id %}
@ -21,6 +18,7 @@ end
require "./worker/*"
module Backend
# Worker module
module Worker
Mosquito.configure do |settings|
settings.redis_url = Backend.config.worker.redis_url

View file

@ -1 +1,5 @@
require "./jobs/*"
# Job definitions
module Jobs
end

View file

@ -3,7 +3,9 @@ require "../../db/user"
module Backend
module Worker
module Jobs
# Sends all unregistered teachers a polite registration mail to ask if they may input their data
class SendTeachersRegistrationEmailJob < Mosquito::QueuedJob
# :ditto:
def perform : Nil
users = Db::User.where(role: Db::UserRole::Teacher.to_s, teacher_id: nil)
count = users.count.run.as(Int64).to_i

View file

@ -2,6 +2,7 @@ module Backend
module Worker
extend self
# Runs the worker
def run : Nil
Mosquito::Runner.start
end

View file

@ -1,5 +1,6 @@
module Backend
module Worker
# Worker service
SERVICE = ->do
Log.info { "Starting worker service..." }
run