Я создаю обработчик обновлений телемарафона Python, который будет читать сообщения из списка групп, а затем отправлять различные тикеры в мой API обмена криптовалютой. Программа должна потребовать, чтобы обработчик обновлений получал сообщение через несколько миллисекунд после его отправки в канал. Однако обработка и отправка обработчику каждого сообщения занимает от 20 до 60 секунд. Есть ли какой-нибудь код, который я могу реализовать, чтобы обработчик обновлений отправлял сообщения намного быстрее, желательно за миллисекунды?
client = TelegramClient('123445.session', '#####', '#####',flood_sleep_threshold=0)
@client.on(events.NewMessage(chats=[x[0] for x in idList.items()]))
async def my_event_handler(event):
nowDate = datetime.now()
verified, groupVerified,logBookList,queueList, ticker,dateOfMessage,signalled,endOfSignalled,stopReload,priceVerify, includesImage, nonTrade,notVerified,pumpVerified,tickerNotFound,username,newMessage,includesImageTag,startOfTickerFinder,endOfTickerFinder = 0,1,[],[],0,event.message.date,"Message Time: "+str(event.message.date),"Signalled: "+str(datetime.now()),1,0,False,0,0,0,0,event.chat.username,(event.message.message.encode("utf-8")).decode("utf-8"),"","Ticker Finder not used", "Ticker Finder not used"
global previousMessage,accountsList,offSwitch,previousTickers,switchSelector,groupDict,idList
if event.photo != None: includesImage,includesImageTag = True,"{INCLUDES IMAGE}"
userDict = {'username':str(username),
'switchSelectorNumber':str(groupDict[username][0]),
'sellLimit':float(groupDict[username][1]),
'stopLoss':float(groupDict[username][2]),
'group':str(username),
'logBookNumber':str(groupDict[username][4]),
'timeLimit':float(groupDict[username][5]),
'amountPercentage':float(groupDict[username][6]),
'timeout': float(groupDict[username][10])
}
if nowDate.timestamp() - dateOfMessage.timestamp() > 120:
#try:
startOfTickerFinder = "Start of ticker finder: "+str(datetime.now())
nonTradeTicker = tickerfinder.findticker(newMessage,userDict['username'],previousMessage[userDict['username']],includesImage)
endOfTickerFinder = "End of ticker finder: "+str(datetime.now())
#except:
#nonTradeTicker = (0,0)
timeFrameList = getTradeInfo(str(userDict['username']))
stopList = getStopInfo(str(userDict['username']))
Я перепробовал все, включая использование регулярных выражений в качестве фильтра для обработчика, запрос get_input_entity после каждой итерации обработчика, чтобы поддерживать интерес телемарафона к каналам, а также я попытался получить большую часть сообщения из каждого канала после каждой итерации. Я везде искал, все перепробовал и ничего не работает. Если кто-нибудь сможет помочь, буду очень признателен!
Я создаю обработчик обновлений телемарафона Python, который будет читать сообщения из списка групп, а затем отправлять различные тикеры в мой API обмена криптовалютой. Программа должна потребовать, чтобы обработчик обновлений получал сообщение через несколько миллисекунд после его отправки в канал. Однако обработка и отправка обработчику каждого сообщения занимает от 20 до 60 секунд. Есть ли какой-нибудь код, который я могу реализовать, чтобы обработчик обновлений отправлял сообщения намного быстрее, желательно за миллисекунды? [code]client = TelegramClient('123445.session', '#####', '#####',flood_sleep_threshold=0)
@client.on(events.NewMessage(chats=[x[0] for x in idList.items()])) async def my_event_handler(event):
nowDate = datetime.now() verified, groupVerified,logBookList,queueList, ticker,dateOfMessage,signalled,endOfSignalled,stopReload,priceVerify, includesImage, nonTrade,notVerified,pumpVerified,tickerNotFound,username,newMessage,includesImageTag,startOfTickerFinder,endOfTickerFinder = 0,1,[],[],0,event.message.date,"Message Time: "+str(event.message.date),"Signalled: "+str(datetime.now()),1,0,False,0,0,0,0,event.chat.username,(event.message.message.encode("utf-8")).decode("utf-8"),"","Ticker Finder not used", "Ticker Finder not used" global previousMessage,accountsList,offSwitch,previousTickers,switchSelector,groupDict,idList if event.photo != None: includesImage,includesImageTag = True,"{INCLUDES IMAGE}"
stopList = getStopInfo(str(userDict['username'])) [/code] Я перепробовал все, включая использование регулярных выражений в качестве фильтра для обработчика, запрос get_input_entity после каждой итерации обработчика, чтобы поддерживать интерес телемарафона к каналам, а также я попытался получить большую часть сообщения из каждого канала после каждой итерации. Я везде искал, все перепробовал и ничего не работает. Если кто-нибудь сможет помочь, буду очень признателен!
Мне нужно быстро получить 1000 сообщений из темы Kafka, но первоначальное получение происходит медленно kafka-clients 3.6.1 KafkaConsumer API.
Мы переходим со старого клиента Kafka (версия 0.8.1) на новый клиент Kafka (версия 3.6.1). В старой...
Мне нужно быстро получить 1000 сообщений из темы Kafka, но первоначальное получение происходит медленно kafka-clients 3.6.1 KafkaConsumer API.
Мы переходим со старого клиента Kafka (версия 0.8.1) на новый клиент Kafka (версия 3.6.1). В старой...
Мне нужно быстро получить 1000 сообщений из темы Kafka, но первоначальное получение происходит медленно kafka-clients 3.6.1 KafkaConsumer API.
Мы переходим со старого клиента Kafka (версия 0.8.1) на новый клиент Kafka (версия 3.6.1). В старой...
Пытаюсь отслеживать сообщения от пользователей в чате, вроде удалось отследить сообщения о нескольких пользователях в нескольких чатах, но есть проблема, если пользователи пишут сообщения одновременно (во время моего интервала парсинга) ), то мне...
I have a problem regarding the correlation of two light curves in my bachelor thesis. I use Scipio.signal.correlate to calculate the correlation. The light curves both have a different amount of data points and have different times. I think the...