site
^
|
*
account <-------------------* showcase <---------------------.
I hereby claim:
- I am nepalez on github.
- I am nepalez (https://keybase.io/nepalez) on keybase.
- I have a public key ASAP4n7AyvpMPae1X_9Tk4FokqkCx-UbJ_QlXbGYtjrOtQo
To claim this, I am signing this object:
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ## События | |
| [Первым коммитом][order_received_event] я добавил новое событие `orderReceived`. Событие хранит **сырой** заказ (новый или ранее зарегистрированный -- не важно) скачанный с ибея. | |
| Основная идея тут вот в чем. Когда мы скачиваем заказы, их может быть пачка. Я проверил через консоль -- у пользователя с наибольшим числом заказов, за сутки их бывает около 300 штук. | |
| Сохранять всю эту тонну информации в модель `Order` и связанные (строки, посылки, адреса) -- это тяжело и больно. Вместо этого мы быстро генерируем события с тем, чтобы их потом обработать и создать/обновить заказы. | |
| Ивент -- надежнее, чем таска в сайдкике, потому что по завершении скачивания (см. ниже) мы сдвигаем отметку времени, до которой скачали обновления. Если мы какую-то из задачек потеряем, то больше мы этот заказ можем и не увидеть, т.к. будем скачивать только более поздние. | |
| В отличие от сайдкика, ивенты -- хранимые. Т.е. нам _гарантировано_, что если мы сдвинули время в аккаунте, то все обновленные заказы лежат в стопке ивентов, ж |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Clean the database | |
| DROP TABLE IF EXISTS _orders CASCADE; | |
| DROP TABLE IF EXISTS _users CASCADE; | |
| DROP TABLE IF EXISTS orders CASCADE; | |
| DROP TABLE IF EXISTS users CASCADE; | |
| # Build the database (for hard deletion) | |
| CREATE TABLE users ( | |
| id integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY, | |
| name text NOT NULL |
I hereby claim:
- I am nepalez on github.
- I am andrew_kozin (https://keybase.io/andrew_kozin) on keybase.
- I have a public key ASCpUHtPalt3lyLebHEZjp5OvZwgUpdZONdVxYOESKLJUQo
To claim this, I am signing this object:
OlderNewer