redis-smq-rest-api
Version:
A RESTful API for RedisSMQ
24 lines • 854 B
JavaScript
import bluebird from 'bluebird';
import { PanicError } from 'redis-smq-common';
const { promisifyAll } = bluebird;
export class QueueRateLimitService {
queueRateLimit;
constructor(queueRateLimit) {
this.queueRateLimit = promisifyAll(queueRateLimit);
}
async setRateLimit(queueParams, queueRateLimit) {
await this.queueRateLimit.setAsync(queueParams, queueRateLimit);
const rateLimit = await this.getRateLimit(queueParams);
if (!rateLimit) {
throw new PanicError(`Expected a non-empty reply`);
}
return rateLimit;
}
async getRateLimit(queueParams) {
return this.queueRateLimit.getAsync(queueParams);
}
async clearRateLimit(queueParams) {
return this.queueRateLimit.clearAsync(queueParams);
}
}
//# sourceMappingURL=QueueRateLimitService.js.map