From 2194bc4a019fcc1de191c76ab8a905b04b029292 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Sun, 9 Sep 2018 03:23:12 +0400 Subject: Refactoring the event handler Event processing is asynchronous. For asynchronous processing, events are added to the job queue. Signed-off-by: Valentin Popov --- classes/event_observer.php | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 classes/event_observer.php (limited to 'classes/event_observer.php') diff --git a/classes/event_observer.php b/classes/event_observer.php new file mode 100644 index 0000000..9ab4a35 --- /dev/null +++ b/classes/event_observer.php @@ -0,0 +1,48 @@ +. + +/** + * Handlers of observers for events. + * + * @copyright 2018 'Valentin Popov' + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + * @package local_webhooks + */ + +namespace local_webhooks; + +defined( "MOODLE_INTERNAL" ) || die(); + +/** + * Defines event handlers. + * + * @copyright 2018 'Valentin Popov' + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + * @package local_webhooks + */ +class event_observer { + /** + * Handler of all the events. + * Each event is put into the job queue. + * + * @param object $event + */ + public static function observe_all( $event ) { + $task = new \local_webhooks\task\process_events_task(); + $task->set_custom_data( $event->get_data() ); + \core\task\manager::queue_adhoc_task( $task ); + } +} \ No newline at end of file -- cgit v1.2.3