Enabled tracemalloc temporary

This commit is contained in:
Joan Cano
2023-08-16 11:40:32 +02:00
parent 8fba7e1473
commit bc71257782
3 changed files with 53 additions and 1 deletions

21
wallamanta/test.py Normal file
View File

@@ -0,0 +1,21 @@
import requests
import json
TELEGRAM_TOKEN="6282777602:AAEQNT1t2TzcnMjfSQoYspOuVi2rb69SJl0"
test = "hola"
keyboard = {'inline_keyboard':
[[{'text':'Ir al anuncio','url':f'https://es.wallapop.com/item/{test}'}]]
}
print(keyboard)
files = {
'chat_id': (None, "10101691"),
'photo': open(f"/Users/jcano/Desktop/test.png", 'rb'),
'caption': (None, "texto"),
'parse_mode': (None, 'MarkdownV2'),
'reply_markup': (None, json.dumps(keyboard)),
}
response = requests.post(f'https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendPhoto', files=files)
print(response.content)

View File

@@ -5,6 +5,7 @@ import walladb
import constants import constants
import account_checker import account_checker
import time import time
import tracemalloc
from worker import Worker from worker import Worker
from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup, ForceReply from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup, ForceReply
@@ -439,10 +440,26 @@ async def list_threads(update: Update, context: ContextTypes.DEFAULT_TYPE) -> No
await update.message.reply_markdown_v2(helpers.telegram_escape_characters(f"{threads_string}")) await update.message.reply_markdown_v2(helpers.telegram_escape_characters(f"{threads_string}"))
def count_threads(): def count_threads():
tracemalloc.start()
time.sleep(10) time.sleep(10)
while True: while True:
snapshot1 = tracemalloc.take_snapshot()
logging.info(f"=== There are: {threading.active_count()} threads. ===") logging.info(f"=== There are: {threading.active_count()} threads. ===")
time.sleep(60) time.sleep(60)
snapshot2 = tracemalloc.take_snapshot()
top_stats = snapshot2.compare_to(snapshot1, 'lineno')
logging.info("[ Top 10 differences ]")
for stat in top_stats[:10]:
logging.info(stat)
top_stats = snapshot2.statistics('lineno')
logging.info("[ Top 10 ]")
for stat in top_stats[:10]:
logging.info(stat)
def main()->None: def main()->None:
global SEARCH_THREADS_LIST global SEARCH_THREADS_LIST

View File

@@ -4,7 +4,7 @@ import logging
import helpers import helpers
import walladb import walladb
import constants import constants
import asyncio import tracemalloc
# Enable logging # Enable logging
logging.basicConfig( logging.basicConfig(
@@ -98,6 +98,7 @@ class Worker:
helpers.random_wait() # Random wait to make requests separated in time in order to prevent API rate limit helpers.random_wait() # Random wait to make requests separated in time in order to prevent API rate limit
exec_times = [] exec_times = []
while True: while True:
snapshot1 = tracemalloc.take_snapshot()
#logging.info(f"List for {product['product_name']} length is: {len(list)}") #logging.info(f"List for {product['product_name']} length is: {len(list)}")
if not helpers.is_valid_request(product) or self._stop == True: if not helpers.is_valid_request(product) or self._stop == True:
logging.info(f"{product['product_name']} not valid anymore, exiting worker") logging.info(f"{product['product_name']} not valid anymore, exiting worker")
@@ -138,6 +139,18 @@ class Worker:
time.sleep(constants.SLEEP_TIME) time.sleep(constants.SLEEP_TIME)
exec_times.append(time.time() - start_time) exec_times.append(time.time() - start_time)
logging.info(f"\'{product['product_name']}\' for {walladb.get_user(product['telegram_user_id'])} ({product['telegram_user_id']}) node-> last: {exec_times[-1]:.2f} max: {self.get_max_time(exec_times):.2f} avg: {self.get_average_time(exec_times):.2f}") logging.info(f"\'{product['product_name']}\' for {walladb.get_user(product['telegram_user_id'])} ({product['telegram_user_id']}) node-> last: {exec_times[-1]:.2f} max: {self.get_max_time(exec_times):.2f} avg: {self.get_average_time(exec_times):.2f}")
snapshot2 = tracemalloc.take_snapshot()
top_stats = snapshot2.compare_to(snapshot1, 'lineno')
logging.info(f"[ Top 10 differences {product['product_name']} ]")
for stat in top_stats[:10]:
logging.info(stat)
top_stats = snapshot2.statistics('lineno')
logging.info(f"[ Top 10 {product['product_name']} ]")
for stat in top_stats[:10]:
logging.info(stat)
def has_excluded_words(self, title, description, excluded_words): def has_excluded_words(self, title, description, excluded_words):
if len(excluded_words) > 0: if len(excluded_words) > 0:
@@ -174,6 +187,7 @@ class Worker:
self._stop = True self._stop = True
def run(product): def run(product):
tracemalloc.start()
worker = Worker() worker = Worker()
try: try:
list = worker.first_run(product) list = worker.first_run(product)