static gboolean _configure_events_queue (struct sqlx_service_s *ss) { if (ss->flag_no_event) { GRID_DEBUG("Events queue disabled, the service disabled it"); return TRUE; } gchar *url = gridcluster_get_eventagent (SRV.ns_name); STRING_STACKIFY (url); if (!url) { GRID_DEBUG("Events queue disabled, no URL configured"); return TRUE; } GError *err = oio_events_queue_factory__create(url, &ss->events_queue); if (!ss->events_queue) { GRID_WARN("Events queue creation failure: (%d) %s", err->code, err->message); return FALSE; } GRID_INFO("Event queue ready, connected to [%s]", url); return TRUE; }
GError * rawx_event_init (const char *addr) { if (!addr) return NULL; GError *err = oio_events_queue_factory__check_config (addr); if (err) { g_prefix_error (&err, "Configuration error: "); return err; } err = oio_events_queue_factory__create (addr, &q); if (err) { g_prefix_error (&err, "Event queue creation failed: "); return err; } th_queue = g_thread_try_new ("oio-events-queue", _worker, NULL, &err); if (err) { g_prefix_error (&err, "Thread creation failed: "); return err; } running = TRUE; return NULL; }