Процесс узла не прерывается при использовании плагина кеша с суперагентом - PullRequest
0 голосов
/ 16 апреля 2019

В настоящее время я использую этот плагин в проекте машинописного текста, который запускается на AWS lambda или в контейнере lambda docker (SAM Tool) локально.Когда я активирую плагин кеша, лямбда-функции больше не завершаются.

Я также пробовал суперагентный вызов через среду тестирования mocha.В этом случае процесс также не завершается, хотя все результаты тестирования записываются на консоль.

Кроме того, создается впечатление, что что-то работает нормально.Элементы записываются в экземпляр redis, но лямбда-функции не завершаются.

Это установленные версии

├── typescript@3.3.4000
├── superagent@4.1.0
├── superagent-cache-plugin@2.0.1
├── cache-service-redis@2.0.0

Мне нужно было объявить модули для них, так как нет доступных типов.Я не эксперт по машинописи.Так что, возможно, ошибка находится здесь.

# cache-service-redis.ts
declare module 'cache-service-redis';
# superagent-cache-plugin.ts
declare module 'superagent-cache-plugin';

Это настройка

import RedisCache = require('cache-service-redis');
import superagentCache = require('superagent-cache-plugin');
...
const redisConfig = {
    defaultExpiration: 300,
    redisData: {
        hostname: process.env.CacheEndpoint,
        port: 6379,
    },
    type: 'app',
};
const redisCache = new RedisCache(redisConfig);
const cache = superagentCache(redisCache);
const request = superagent.get('...').use(cache)
const response = await request

Заранее спасибо.Я бы очень хотел решить эту проблему и использовать пакет.Я с радостью предоставлю больше информации, когда это будет необходимо =)

1 Ответ

0 голосов
/ 18 апреля 2019

Я решил эту проблему с помощью сопровождающего, установив context.callbackWaitsForEmptyEventLoop = false; после прочтения этой сущности , которая показывает минимальный пример проблемы.

Любое продолжающееся обсуждение этой проблемы можетбыть найденным в пределах проблемы в github .

...