Size: a a a

2020 April 21

P#

PyCodeCat # from meo... in aiogram [ru]
std::mpa
так делай s.update_data(new_data=new_list)
new = data['new_data'][:]
new.append(d.id)
await state.update_data(new_data=new)
источник

G

Gabben in aiogram [ru]
Короче я ничего не понял, все в разброс и не понятно в чем проблема. У всех все работало, вы пришли и опять сломали
источник

G

Gabben in aiogram [ru]
источник

P#

PyCodeCat # from meo... in aiogram [ru]
b'{"id": 1, "new_data": [41, 43]}'
b'{"id": 1, "new_data": [41, 45]}'
b'{"id": 1, "new_data": [41, 45]}'
источник

G

Gabben in aiogram [ru]
PyCodeCat # from meow import *
new = data['new_data'][:]
new.append(d.id)
await state.update_data(new_data=new)
А дата откуда?
источник

P#

PyCodeCat # from meo... in aiogram [ru]
PyCodeCat # from meow import *
Так, ребятки, я чот ничего не понимаю
@gabbhack отсюда пачка моих сообщений
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Gabben
А дата откуда?
async with s.proxy() as data:
источник

P#

PyCodeCat # from meo... in aiogram [ru]
PyCodeCat # from meow import *
Судя по всему, ты хочешь понять, что не так и тебе нужно немного подробнее

Так вот, есть хендлер вроде такого:
@dp.message_handler(content_types=[ContentType.ALL], state=MyState.state)

async def record_msgs(m: Message, s: FSMContext):
   async with state.proxy() as data:
       item_id = data['id']
       id_: int = await put_into_db(m, item_id)  # не важно что оно делает
       data['new_data'].append(id_)
       return


И как только я пересылаю сообщения (т.е. отправляю их очень быстро), оно сохраняет так, как я показал выше.
@gabbhack проблема + хендлер
источник

G

Gabben in aiogram [ru]
PyCodeCat # from meow import *
async with s.proxy() as data:
Нельзя так делать, ты либо все через асинхронный контекст менеджер делаешь, который все твои изменения записывает в базу ТОЛЬКО ПРИ ВЫХОДЕ ИЗ ЭТОГО КОНТЕКСТА, либо все через get/set/update_data.
Почему? Так сказал Алекс, этот прокси подвержен гонке
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Неужели какой-то race творится из-за асинка и быстрого прилетания апдейтов
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Gabben
Нельзя так делать, ты либо все через асинхронный контекст менеджер делаешь, который все твои изменения записывает в базу ТОЛЬКО ПРИ ВЫХОДЕ ИЗ ЭТОГО КОНТЕКСТА, либо все через get/set/update_data.
Почему? Так сказал Алекс, этот прокси подвержен гонке
Опа
источник

s

std::mpa in aiogram [ru]
proxy в марте сентябре уже не будет
источник

P#

PyCodeCat # from meo... in aiogram [ru]
std::mpa
proxy в марте сентябре уже не будет
*осенью в марте
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Gabben
Нельзя так делать, ты либо все через асинхронный контекст менеджер делаешь, который все твои изменения записывает в базу ТОЛЬКО ПРИ ВЫХОДЕ ИЗ ЭТОГО КОНТЕКСТА, либо все через get/set/update_data.
Почему? Так сказал Алекс, этот прокси подвержен гонке
Т.е. мне всю логику выпихнуть вне контекста, а load/save воткнуть в начале/конце соответственно?
источник

s

std::mpa in aiogram [ru]
можешь сделать через dp.current_state
источник

G

Gabben in aiogram [ru]
PyCodeCat # from meow import *
Т.е. мне всю логику выпихнуть вне контекста, а load/save воткнуть в начале/конце соответственно?
Зачем тебе вообще этот прокси сдался
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Gabben
Зачем тебе вообще этот прокси сдался
Так в гайде было написано, вот до сих пор и использую
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Раньше такого не было хд
источник

P#

PyCodeCat # from meo... in aiogram [ru]
Ладно, буду два раза гулять в прокси
источник

G

Gabben in aiogram [ru]
PyCodeCat # from meow import *
Т.е. мне всю логику выпихнуть вне контекста, а load/save воткнуть в начале/конце соответственно?
Ты лоад сейв хочешь внутри контекста поставить?
источник