UNPKG

@directus/api

Version:

Directus is a real-time API and App dashboard for managing SQL database content

22 lines (21 loc) 635 B
import { createBus } from '@directus/memory'; import { redisConfigAvailable, useRedis } from '../../redis/index.js'; export const _cache = { bus: undefined, }; /** * Returns globally shared message bus. If Redis is available, will use a redis-driven pub/sub bus. * Otherwise will default to a local-only bus. */ export const useBus = () => { if (_cache.bus) { return _cache.bus; } if (redisConfigAvailable()) { _cache.bus = createBus({ type: 'redis', redis: useRedis(), namespace: 'directus:bus' }); } else { _cache.bus = createBus({ type: 'local' }); } return _cache.bus; };