import telebot
from pprint import pprint
import pymysql.cursors
import json
import decimal
from time import sleep
from datetime import datetime, timedelta
from multiprocessing import Pool, TimeoutError
import tqdm
connection1 = pymysql.connect(host='127.0.0.1',
user='root',
password='pass',
charset='utf8',
db='db',
cursorclass=pymysql.cursors.DictCursor,
autocommit=True)
with connection1.cursor() as cursor1:
sql = "SELECT * FROM telegram_subscriptions WHERE chat_id IS NOT NULL AND bot_id = 1"
cursor1.execute(sql)
users = cursor1.fetchall()
if len(users):
def processInput(user):
BOT_TOKEN = "------------------------------"
bot = telebot.TeleBot(BOT_TOKEN)
connection2 = pymysql.connect(host='127.0.0.1',
user='root',
password='pass',
charset='utf8',
db='db',
cursorclass=pymysql.cursors.DictCursor,
autocommit=True)
with connection2.cursor() as cursor:
sql = "SELECT * FROM table WHERE uid = %s AND activated > 0 AND sended = 0"
cursor.execute(sql, (user['uid']))
results = cursor.fetchall()
# pprint(results)
ids = []
for res in results:
# Обработка данных из базы
.......
.......
........
bot.send_message(user['chat_id'], msg)
ids.append(str(res['id']))
ids = ','.join(ids)
if ids != "":
sql = """UPDATE table SET sended = UNIX_TIMESTAMP() WHERE id IN ({ids})""".format(ids=ids)
cursor.execute(sql)
pool = Pool(processes=10)
for _ in tqdm.tqdm(pool.imap_unordered(processInput, users), total=len(users)):
pass
Игорь,
Т.е. зависит от настроек системы? Не офиса?
А почему тогда обычные числа без точек и запятых мне пишет "Число сохранено как текст"
причем если кликнуть по ячейке - тут же становится нормальной
Да, притом в нужном формате "0,00" (c запятой)
т.е. как бы вроде даже с точкой форматирует, но не обновляет лист что ли?
Не пойму
Что нужно сделать дополнительно?
ThunderCat,
>наблюдайте за реакцией окружающих )
Удаленка.
А вручную могли операторы "поправить" пользователей, которые не смогли зайти в кабинет или ещё по какой причине. Но вот тоже говорят, что этих не редактировали
ThunderCat, да раскидано по машинам. Но подключение к mysql через ssh.
Дело в том что это может быть не код вообще, а вручную кем-то правилось. Т.к. для ошибки в коде слишком мало испорчено (пару десятков из 5 тысяч)