169 похожих чатов

Здраствуйте. Разрабатываю тг бота на node js + telegraf. Столкнулся

с проблемой кеширования файлов. В процессе работы программа изменяет некоторые файлы, но при использовании fs.createReadStream подгружается старый файл (который был ещё до изменения). Возможно ли подгружать всегда актуальные данные? каким образом это можно сделать?

10 ответов

19 просмотров

звучит так будто вы пытаетесь читать файл до того как стрим записи завершился

Evgeniy-Churikov Автор вопроса
Anna Karenina
звучит так будто вы пытаетесь читать файл до того ...

Я нашел действительное место, где ломается файл. fs.createReadStream тут не при чем, просто модуль sharp, которым я конвертировал картинку в другой формат, почему-то берёт старую версию картинки, от чего в итоге и происходит проблема.

Evgeniy-Churikov Автор вопроса
krn p
проблема в асинхронности

можно конкретнее, пожалуйста?

Evgeniy Churikov
можно конкретнее, пожалуйста?

неа, нельзя. но в какой-то момент до окончания записи файла происходит чтение этого же файла. где именно - без кода не сказать, да и лень

Evgeniy-Churikov Автор вопроса
krn p
неа, нельзя. но в какой-то момент до окончания зап...

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

Evgeniy-Churikov Автор вопроса
krn p
проблема в асинхронности

как оказалось, всё таки в кеше

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта