forked from practical-recommender-systems/moviegeek
-
Notifications
You must be signed in to change notification settings - Fork 0
[20] PRS Setup
9health edited this page Dec 28, 2022
·
22 revisions
Chạy thử PRS xem kết quả ra như thế nào
- README.md tại https://github.com/9health/moviegeek
- Sign Up — The Movie Database (TMDB)
- API FAQ — The Movie Database (TMDB)
- API Status Codes — The Movie Database (TMDB)
- About TMDB - The Movie Database
- https://www.themoviedb.org/settings/api/request
- Python Virtual Environments: A Primer
- Understanding Python virtual environments using venv and virtualenv. Bản [cache] trên Google ở đây.
- Can I add comments to a pip requirements file? - Stack Overflow
- Error "Import Error: No module named numpy" on Windows
- How to install development tools on an unmanaged server
- Python.h: No such file or directory - Stack Overflow
- Why is python setup.py saying invalid command 'bdist_wheel' on Travis CI?
- pyLDAvis 2.1.2 documentation
- LDAvis - R package for interactive topic model visualization.
- Visualizing Topic Models - Speaker Deck
- Topic Model Visualization using pyLDAvis. Bản cached trên Google ở đây.
- Visualization Techniques for Assessing Textual Topic Models
- Topic model - Wikipedia
- grep current rx and tx speed - LinuxQuestions.org
- vnStat - a network traffic monitor for Linux and BSD - Humdi.net
- Invalid http_host header - python - Stack Overflow
- python - manage.py runserver - Stack Overflow
- Save Screen (program) output to a file - logging - Stack Overflow
- Copying the GNU screen scrollback buffer to a file (extended hardcopy)
- PRS web app chạy được và chạy đúng với máy ảo Linux B1s trên Azure và không phát sinh chi phí trừ vào thẻ tín dụng.
- Vào được 24 giờ trong 365 ngày.
- Do không sử dụng docker và tự cài trên Ubuntu 18.04 LTS.
- Do phiên bản Python không giống với phiên bản tác giả dùng hay phiên bản ở docker.
- Cần chỉnh sửa thì mới bật được PRS web app!
- Do máy ảo (VM) đặt ở tận phía Tây nước Mỹ.
- Do PRS như vậy từ đầu
- Dăng ký tài khoản tại trang web sau
- Tạo API ở link sau
- https://www.themoviedb.org/settings/api
- Theo tác giả Wiki do sử dụng PRS web app để develop và học hỏi nên là đăng ký API loại
developer
okay!
- Vào repository và tạo file .prs với nội dung như sau
{"themoviedb_apikey": "TheMovieDatabaseAPICopyHere32Chars"}
sudo apt-get install python3-venv
sudo apt-get install build-essential
sudo apt-get install python3.6-dev
sudo apt-get install gcc libpq-dev -y
sudo apt-get install python-dev python-pip -y
sudo apt-get install python3-dev python3-pip python3-venv python3-wheel -y
sudo apt-get install vnstat -y
sudo apt-get install sqlite3 -y
sudo apt-get install tree -y
git clone https://github.com/9health/moviegeek.git
git checkout 20221215_ubuntu_18_04_mod
python3 -m venv venv_3.6.9
source venv_3.6.9/bin/activate
python3 -m pip install wheel
python -m pip install -r requirement.txt
Theo tác giả có sử dụng option SQLite3 database đủ cho kế hoạch ban đầu nên không cần setup PostgreSQL nữa.
python3 manage.py makemigrations
python3 manage.py migrate --run-syncdb
python3 populate_moviegeek.py
python3 populate_ratings.py
2 jobs này chạy rất là lâu.
-
Lệnh thứ nhất hết tầm 1 tiếng 30 phút.
https://github.com/9health/moviegeek/wiki/res/Screen_Recording_2022-12-14_at_10.14.45.mov
-
Lệnh thứ hai hết tầm 4 tiếng.
https://github.com/9health/moviegeek/wiki/res/Screen_Recording_2022-12-14_at_11.27.48.mov
-
Tốc độ mạng khoảng gần chục
KB/s
!!!
python3 manage.py runserver 0.0.0.0:8080
Press Ctrl + C
deactivate
http://ninehealth.westus.cloudapp.azure.com:8080
- Còn trống (free) khoảng
600 MB
RAM tương ứng60%
RAM. - Khi load trang web CPU lên khoảng
5%-6%
top - 19:45:58 up 5 min, 5 users, load average: 0.08, 0.13, 0.08
Tasks: 112 total, 1 running, 63 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.3 us, 1.0 sy, 0.0 ni, 94.4 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem : 934808 total, 277108 free, 309516 used, 348184 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 480772 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1542 ninehea+ 20 0 1055172 139516 36804 S 5.3 14.9 0:09.58 python3
982 root 20 0 79548 21444 8984 S 0.3 2.3 0:00.22 python3
1023 root 20 0 460576 29108 9972 S 0.3 3.1 0:00.97 python3
1 root 20 0 159728 9068 6760 S 0.0 1.0 0:02.90 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
- Sau khi chạy web app vài phút, load 1 trang Home page
$ cat /proc/meminfo
MemTotal: 934808 kB
MemFree: 225136 kB
MemAvailable: 493728 kB
Buffers: 26360 kB
Cached: 350796 kB
SwapCached: 0 kB
Active: 411476 kB
Inactive: 181004 kB
Active(anon): 215724 kB
Inactive(anon): 304 kB
Active(file): 195752 kB
Inactive(file): 180700 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 488 kB
Writeback: 0 kB
AnonPages: 215332 kB
Mapped: 76568 kB
Shmem: 712 kB
KReclaimable: 36300 kB
Slab: 72132 kB
SReclaimable: 36300 kB
SUnreclaim: 35832 kB
KernelStack: 2288 kB
PageTables: 5820 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 467404 kB
Committed_AS: 474408 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 25580 kB
VmallocChunk: 0 kB
Percpu: 556 kB
HardwareCorrupted: 0 kB
AnonHugePages: 53248 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
FileHugePages: 0 kB
FilePmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
Hugetlb: 0 kB
DirectMap4k: 75712 kB
DirectMap2M: 972800 kB
DirectMap1G: 0 kB
Khoảng 2-3 giây
để load home page
https://github.com/9health/moviegeek/wiki/res/Screenshot_Network_Speed_20221215.heic
https://github.com/9health/moviegeek/wiki/res/Screenshot_Network_Speed_20221215A.heic
T.B.U
$ python3 -m venv venv_3.6.9
$ source venv_3.6.9/bin/activate
$ python3 -m pip install django
$ python 3
>>> import django
>>> help(django)
Help on package django:
NAME
django
PACKAGE CONTENTS
__main__
apps (package)
conf (package)
contrib (package)
core (package)
db (package)
dispatch (package)
forms (package)
$ deactivate
# Check Python global environment
$ python3
>>> import django
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'django'
# numpy==1.22.2
numpy==1.19.5
# pandas==1.4.1
pandas==1.1.5
# scipy==1.8.0
scipy==1.5.4
- 2022/Dec/15: Tạo mới
- 2022/Dec/21: Thêm phần thông tin RAM sau khi chạy web app phần 6.2. Thêm package SQLite 3 phần 5.2.
- 2022/Dec/28: Thêm package tree phần 5.2.