Size: a a a

2020 May 30

AK

Andy Korg in Delphi & Lazarus
Dmitry Belkevich
ну как бы предполагается, что синапс это делает ) и делает. только увы не помогает
Т.е. netstat видит открытые порты после завершения сервиса?
источник

AS

Alexey Shumkin in Delphi & Lazarus
Renat Suleymanov
Мне нужно скачивать видео в youtube. Бот будет принимать ссылки от пользователей телеграм и отдавать их youtube-dl, после чего скачанный файл отдавать обратно в телеграм пользователю
Лучше сделать через очередь. В неё пихаешь событие о необходимости скачивания. Воркер на том же питоне скачивает , юзая классы из тулы́. Отдаёт в очередь сообщение, что скачал. Твой бот ловит это сообщение и отдаёт куда надо...
Микросервисы!
Очередь - на RabbitMQ, например
источник

你妈妈死了吗 in Delphi & Lazarus
Alexey Shumkin
Т.е. ты их обманывать собрался?
да
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Andy Korg
Т.е. netstat видит открытые порты после завершения сервиса?
посмотрю. вообще проявляется в невозможности повторно открыть сокет
источник

RS

Renat Suleymanov in Delphi & Lazarus
Alexey Shumkin
Лучше сделать через очередь. В неё пихаешь событие о необходимости скачивания. Воркер на том же питоне скачивает , юзая классы из тулы́. Отдаёт в очередь сообщение, что скачал. Твой бот ловит это сообщение и отдаёт куда надо...
Микросервисы!
Очередь - на RabbitMQ, например
1. Софт кажется GNU GPL. То есть нужно открывать исходники всего программного обеспечения придется, если встраивать именно код. Я хочу встроить в существующий код бота. Поэтому код буду писать на Pascal. Youtube-dl хочу использовать как отдельную программу с вызовом на определенные события.
2. По поводу воркера. Да конечно без него никуда. Создам отделный поток с очередью заданий. Но вот уже этот поток (в Pascal коде) планирую, что будет делать запросы в эту программу.
3. УДобство еще в том, что youtube-dl скачивается и обновляется через официальных дистрибтютивы как вполне себе валидный пакет Linux
источник

RS

Renat Suleymanov in Delphi & Lazarus
Водителем. Это тоже хорошая профессия
источник

你妈妈死了吗 in Delphi & Lazarus
не хочу терять просто время
источник

你妈妈死了吗 in Delphi & Lazarus
прикол в том даже что обычные видео на ютубе грузятся
источник

AK

Andy Korg in Delphi & Lazarus
Dmitry Belkevich
посмотрю. вообще проявляется в невозможности повторно открыть сокет
Т.е. вы руками не вызываете CloseSocket()?
источник

你妈妈死了吗 in Delphi & Lazarus
а стримы нет -_-
источник

你妈妈死了吗 in Delphi & Lazarus
источник

你妈妈死了吗 in Delphi & Lazarus
как такое может быть
источник

DB

Dmitry Belkevich in Delphi & Lazarus
Andy Korg
Т.е. вы руками не вызываете CloseSocket()?
я руками нет. либа вызывает
источник

DB

Dmitry Belkevich in Delphi & Lazarus
procedure TTCPBlockSocket.CloseSocket;
begin
 if FSSL.SSLEnabled then
   FSSL.Shutdown;
 if (FSocket <> INVALID_SOCKET) and (FLastError = 0) then
 begin
   SockCheck(Synsock.Shutdown(FSocket, 1));
   Purge;
 end;
 inherited CloseSocket;
end;
источник

DB

Dmitry Belkevich in Delphi & Lazarus
только что увы слабо помогает
источник

DB

Dmitry Belkevich in Delphi & Lazarus
if FSocket <> INVALID_SOCKET then
   synsock.CloseSocket(FSocket);
источник

DB

Dmitry Belkevich in Delphi & Lazarus
это CloseSocket
источник

AK

Andy Korg in Delphi & Lazarus
Может сделать закрытие сокета перед открытием?
источник

DB

Dmitry Belkevich in Delphi & Lazarus
так а что закрывать? ) если он не открыт. хэндла нет
источник

AK

Andy Korg in Delphi & Lazarus
Dmitry Belkevich
так а что закрывать? ) если он не открыт. хэндла нет
хмм, а создаете как сокет? TTCPBlockSocket.Create?
источник