class AsyncDispatcher < BaseDispatcher def dispatch(event_name, timestamp, data) EventDispatcherJob.perform_later(event_name, timestamp, data) end def publish_event(event_name, timestamp, data) event_object = Events::Base.new(event_name, timestamp, data) publish(event_object.method_name, event_object) end def listeners [ AutomationRuleListener.instance, CampaignListener.instance, CsatSurveyListener.instance, HookListener.instance, InstallationWebhookListener.instance, NotificationListener.instance, ParticipationListener.instance, ReportingEventListener.instance, WebhookListener.instance ] end end AsyncDispatcher.prepend_mod_with('AsyncDispatcher')