Basics#
Here are described basics of the app architecture.
Celery#
Beat logs in error level mode and has no PID file
(--pidfile=). No PID file is because when celery hangs up
the PID file is kept on the disk and prevents to run new beat
process.
Worker runs in one thread (-c is set to 1) so all tasks
are consumed in series not in paralel. Also each worker is
replaced with a new one after 3 tasks (--max-tasks-child=3).
Meta#
core.Meta is a special model for application metadata. They
are stored and readed from various places of application.
Current metada is:
LAST_PRICE_UPDATE- last date + time when shares/coins data were updated - fetched from the internet. Is printed as tooltip on application name in the app top bar.
Database#
Model managers#
Application offers following model managers that extend classic Django ORM manager.
+-------------------+ +------------------+
| PandasManager | <--- | UsersManager |
+-------------------+ +------------------+
^
| +-----------------+
--- | UserManager |
+-----------------+