@sailboat-computer/event-bus
Version:
Standardized event bus for sailboat computer v3 with resilience features and offline capabilities
45 lines (39 loc) • 1.36 kB
JavaScript
/**
* Script to run the Redis event bus example
*/
// Check if Redis is available
try {
const Redis = require('ioredis');
const redis = new Redis({
host: process.env.REDIS_HOST || 'localhost',
port: process.env.REDIS_PORT || 6379,
connectTimeout: 1000,
maxRetriesPerRequest: 1
});
redis.on('error', (err) => {
console.error('Redis connection error:', err.message);
console.error('Please make sure Redis is running on localhost:6379 or set REDIS_URL environment variable.');
process.exit(1);
});
// Ping Redis to check connection
redis.ping().then(() => {
console.log('Redis connection successful');
redis.quit().then(() => {
// Compile the TypeScript example
require('child_process').execSync('npx tsc -p tsconfig.json examples/redis-example.ts --outDir examples/dist', {
stdio: 'inherit'
});
// Run the compiled example
require('./dist/redis-example');
});
}).catch((err) => {
console.error('Redis ping failed:', err.message);
console.error('Please make sure Redis is running on localhost:6379 or set REDIS_URL environment variable.');
process.exit(1);
});
} catch (err) {
console.error('Failed to load ioredis:', err.message);
console.error('Please make sure ioredis is installed.');
process.exit(1);
}