Nếu bạn thực sự muốn mô phỏng nó và chỉ có một người dùng. Bạn chỉ có thể trả về một số ngẫu nhiên mỗi khi người dùng thực hiện truy vấn. Nó không liên quan đến mức nào họ truy vấn nó. Bạn có thể đưa ra kế hoạch miễn phí anh hùng hoặc anh hùng này. Nhưng thực tế là người dùng đang truy vấn cứ sau 2 giây có nghĩa là rất nhiều yêu cầu và do đó bạn có thể vượt quá hạn ngạch.
import random
from flask import Flask
import time
app = Flask[__name__]
@app.route["/"]
def hello_world[]:
return random.randint[0,5]
Nói rằng bạn lên nó tại địa phương trên cổng 5000. Sau đó, chỉ cần đến địa phương, 5000, qua Python hoặc trình duyệt sẽ cung cấp cho bạn số ngẫu nhiên đó.
Để phục vụ nó cho nhiều người, bạn muốn có một luồng riêng chạy để tạo số. Sau đó, chế độ xem sẽ trả về số tại URL. Ví dụ,
from flask import Flask
import random
import threading
app = Flask[__name__]
number = 0
@app.route["/"]
def hello_world[]:
""" URL returns random number """
return str[number]
def gen_rand[]:
""" generating random numbers """
global number
while True:
number = random.randint[0, 5]
time.sleep[2]
if __name__ == '__main__':
# starting thread to generate the number
x = threading.Thread[target=gen_rand, daemon=True]
x.start[]
# starting web server
app.run[]
Theo mặc định, máy chủ web cục bộ sẽ bắt đầu tại localhost: 5000, truy cập URL này trong trình duyệt của bạn và bạn sẽ thấy được tạo ngẫu nhiên được tạo. Bạn có thể mở nhiều tab trình duyệt để xem chúng sẽ cho cùng một số ngẫu nhiên nếu được làm mới trong vòng 2 giây.
Lưu ý rằng sử dụng biến toàn cầu không an toàn cho luồng hoặc xử lý an toàn. Bạn nên sử dụng cơ sở dữ liệu hoặc redis để cập nhật và tải số số. Xem câu hỏi này để thảo luận thêm: Các biến toàn cầu có an toàn trong bình không? Làm cách nào để chia sẻ dữ liệu giữa các yêu cầu ?.
Đăng BYU/[đã xóa] 4 năm trướcu/[deleted]4 years ago
Lưu trữ
Xin chào, tôi có một vài kịch bản Python mà tôi muốn chạy mọi lúc nhưng tôi không muốn để máy tính của mình qua đêm vì vậy tôi đã tự hỏi liệu các bạn có biết bất kỳ dịch vụ nào tốt để có các tập lệnh để chạy không. Tôi đã sử dụng DigitalOcean để lưu trữ một trang web Flask và tôi có thể làm điều đó với điều đó hoặc một cái gì đó giống như Raspberry Pi. Tôi chỉ tự hỏi nếu có thể có bất kỳ lựa chọn nào tốt hơn ngoài kia? Bất kỳ sự giúp đỡ được đánh giá cao.
Chủ đề này được lưu trữ
Nhận xét mới không thể được đăng và phiếu bầu không thể được chọn
cấp độ 1
Tôi đề nghị zeit ngay bây giờ [//zeit.co/now]. Đó là một máy chủ đám mây với một kế hoạch miễn phí cho các dự án nguồn mở. Sử dụng dịch vụ triển khai Docker của họ để chạy các tập lệnh Python của bạn. Tôi có thể giới thiệu dịch vụ hết lòng, thực sự đơn giản để sử dụng, không có vấn đề gì đối với tôi.
cấp độ 1
Tôi đề nghị zeit ngay bây giờ [//zeit.co/now]. Đó là một máy chủ đám mây với một kế hoạch miễn phí cho các dự án nguồn mở. Sử dụng dịch vụ triển khai Docker của họ để chạy các tập lệnh Python của bạn. Tôi có thể giới thiệu dịch vụ hết lòng, thực sự đơn giản để sử dụng, không có vấn đề gì đối với tôi.
Nếu bạn có một ví dụ chạy trên Digital Ocean, không có lý do gì để không chỉ sử dụng điều đó. Chạy tập lệnh Python dưới dạng dịch vụ
from flask import Flask
import random
import threading
app = Flask[__name__]
number = 0
@app.route["/"]
def hello_world[]:
""" URL returns random number """
return str[number]
def gen_rand[]:
""" generating random numbers """
global number
while True:
number = random.randint[0, 5]
time.sleep[2]
if __name__ == '__main__':
# starting thread to generate the number
x = threading.Thread[target=gen_rand, daemon=True]
x.start[]
# starting web server
app.run[]
1 hoặc chỉ trong phiên from flask import Flask
import random
import threading
app = Flask[__name__]
number = 0
@app.route["/"]
def hello_world[]:
""" URL returns random number """
return str[number]
def gen_rand[]:
""" generating random numbers """
global number
while True:
number = random.randint[0, 5]
time.sleep[2]
if __name__ == '__main__':
# starting thread to generate the number
x = threading.Thread[target=gen_rand, daemon=True]
x.start[]
# starting web server
app.run[]
2 là rất dễ dàng.cấp độ 1
Cá nhân tôi muốn giới thiệu Google Compute Engine. Nếu tập lệnh của bạn không quá mãnh liệt CPU, bạn có thể chạy nó trên tầng miễn phí hoàn toàn miễn phí.
Bạn có thể sử dụng Pythonanywhere nhưng đôi khi tập lệnh của bạn có thể tắt vì di chuyển máy chủ hoặc những thứ tương tự. Ngoài ra, bạn bị hạn chế bởi các gói và phiên bản Python mà họ đã cài đặt.
cấp độ 2
Phải, tôi đã kiểm tra Google Cloud nhưng họ chỉ có rất nhiều động cơ khác nhau mà tôi không biết nên sử dụng cái nào. Hiện tại kịch bản của tôi không phải là CPU chuyên sâu nhưng tôi có thể có một số trong tương lai, nhưng nó sẽ dễ dàng mở rộng quy mô. Dù sao cũng cảm ơn!
cấp độ 1
Tôi sử dụng thể hiện đám mây Hetzner nhỏ nhất.
cấp độ 1
AWS làm việc tuyệt vời cho tôi. Cấp miễn phí là đủ để bắt đầu
cấp độ 2
Phải, tôi đã kiểm tra Google Cloud nhưng họ chỉ có rất nhiều động cơ khác nhau mà tôi không biết nên sử dụng cái nào. Hiện tại kịch bản của tôi không phải là CPU chuyên sâu nhưng tôi có thể có một số trong tương lai, nhưng nó sẽ dễ dàng mở rộng quy mô. Dù sao cũng cảm ơn!
cấp độ 1
Tôi sử dụng thể hiện đám mây Hetzner nhỏ nhất.
cấp độ 2
Phải, tôi đã kiểm tra Google Cloud nhưng họ chỉ có rất nhiều động cơ khác nhau mà tôi không biết nên sử dụng cái nào. Hiện tại kịch bản của tôi không phải là CPU chuyên sâu nhưng tôi có thể có một số trong tương lai, nhưng nó sẽ dễ dàng mở rộng quy mô. Dù sao cũng cảm ơn!
Học kỳ trường trước, tôi đã gây rối với một kịch bản Python cho dự án khoa học của tôi. Nó đã mất 3 ngày để hoàn thành nó trên MacBook Pro của tôi.
Nó rất tra tấn trái tim tôi khi nghe người hâm mộ MacBook của tôi quay cuồng trong nhiều ngày liên tục.
Tất cả những gì tôi thực sự muốn làm là chạy nó ở một nơi khác không phải trên máy tính của tôi qua đêm mà tại thời điểm đó tôi không biết làm thế nào? Bây giờ tôi làm!want to do is run it somewhere else not on my computer overnight but at that time I don’t know how? Now I do!
Hãy để tôi giới thiệu 😚
Máy tính đám mây
Ảnh của Christina @ wocintonechchat.com trên unplashVề cơ bản, máy tính trong đám mây, nó chỉ là một máy tính mà bạn có thể chạm vào vật lý nhưng rất may bạn có thể sử dụng và truy cập qua Internet.
Nó luôn kết nối với Internet. Để có một cái chúng ta cần mang/thuê một cái giống như một máy tính điển hình.
Tìm chúng ở đâu?
Chắc chắn không có trên cửa hàng máy tính bên cạnh cửa của bạn. Thông thường chúng tôi sử dụng để thuê chúng từ các công nghệ lớn!rent them from big tech companies!
Ảnh của Mohammad Rezae trên unplashVí dụ :
- Amazon AWS [đây không phải là Amazon bán Kindle tho]
- Đại dương kỹ thuật số
- Microsoft Azure
- Nền tảng đám mây Google
Luận văn là những lượt truy cập hàng đầu và dễ dàng thiết lập điện toán đám mây! top hits and easy to set up cloud computing!
Giá thuê bao nhiêu?
Tùy thuộc vào giá vé của công ty và bạn muốn thông số kỹ thuật nào.spec do you want.
Ví dụ, đại dương kỹ thuật số bắt đầu với 0,006 USD mỗi giờ < - khá rẻ!
Hôm nay tôi sẽ sử dụng Microsoft Azure vì họ đã cung cấp một số tín dụng miễn phí và có một chương trình độc quyền của sinh viên.Microsoft Azure because They gave some free credits and have a student exclusive program.
So sánh từng sản phẩm với mỗi công ty, nó không khác nhau. Họ đều dễ dàng thiết lập với trang web của họ.They are all easy to setup with their website.
Một điều cần nhắc nhở trong điều này là máy tính đám mây gần hơn để phản hồi nhanh hơn so với máy tính đám mây xa. Nó chính xác là cách tại sao game thủ chơi FPS trực tuyến trên các máy chủ gần nhất.
Ví dụ: nếu bạn đang sử dụng 2 máy tính đám mây đặc điểm giống nhau, một người nằm ở Singapore One ở California. Nếu bạn có quyền truy cập internet từ Singapore, máy tính đám mây Singapore thực tế sẽ ít tụt lại ít ping hơn California.
Vì vậy, hãy chọn cơ sở dịch vụ trên vị trí của bạn đang ở.
Nếu bạn là một tờ rơi thường xuyên, chỉ cần nghĩ về điều đó bởi vì nó không phải là vấn đề.
Bắt đầu trên Azure VM
Trong dịch vụ Microsoft Azure, họ gọi máy tính của họ là máy ảo [AKA.VM].Virtual Machine [aka.VM].
Tạo tài khoản Azure
Điều này chỉ đơn giản chỉ cần nhận được mặc dù quá trình cho đến khi bạn được sắp xếp.
Để tạo tài khoản Azure cho sinh viên, bạn cần xác minh danh tính của mình bằng xác minh email của trường.
Mặt khác, bạn cần xác minh danh tính của bạn với thông tin tín dụng của mình.
Nhắc nhở: Bạn có thể bắt đầu chọn phiên bản miễn phí theo cả hai cách. Thẻ tín dụng chỉ là một nhận dạng nếu bạn vẫn sử dụng trong gói miễn phí
Tạo VM mới
Hệ điều hành
VM giống hệt máy tính. Nó cần hệ điều hành. Có một số hệ điều hành phổ biến có thể được cài đặt dễ dàng trong toàn bộ trang web Azure.It needs the OS. There is some popular os can be installed easy throughout the Azure website.
Ảnh của Mark Boss trên unplashBây giờ tôi sẽ sử dụng Ubuntu vì nó là một phần mềm miễn phí và dễ sử dụng trong dòng lệnh. Cũng nhìn dòng lệnh macOS giống nhau.Ubuntu because it is a free software and easy to use in command line. Also look alike MacOS commands line.
Thông số kỹ thuật
Ở đây chúng tôi có rất nhiều lựa chọn để lựa chọn. Trong quá trình này, bạn có thể chọn những gì bạn muốn cho máy tính của mình. Muốn nó suy nghĩ nhanh, muốn nó nhớ nhanh, muốn đọc nhanh.
- CPU - Máy tính của bạn tính toán nhanh như thế nào.fast your computer calculate.
- RAM - Máy tính của bạn có thể nhớ bao nhiêu trong bộ nhớ ngắn hạn của họ.short term memory.
- Đĩa - Máy tính của bạn có thể nhớ bao nhiêu trong bộ nhớ dài hạn. long term memory.
- Tỷ lệ đọc/ghi - tốc độ họ đọc và viết bộ nhớ dài hạn của họ nhanh như thế nàofast they read and write their long term memory
Bạn nên chọn những gì phù hợp với công việc của bạn.
Hãy ghi nhớ thông số kỹ thuật cao hơn chi phí cao hơn. Vui lòng kiểm tra chi phí trước khi thực sự thuê nó.
Khóa hoặc mật khẩu SSH
Khi bạn muốn sử dụng máy tính này, bạn cần mở khóa chúng như mở khóa cửa. Khi chúng tôi cài đặt hệ thống khóa trên cửa, có 2 tùy chọn
- Mở khóa bằng khóa [khóa SSH]
- Mở khóa bằng mật khẩu [mật khẩu]
Có khác nhau. Nếu bạn chọn khóa SSH, họ sẽ hướng dẫn bạn lưu tệp khóa trên máy tính cục bộ của bạn. Khi bạn muốn sử dụng VM, bạn cần sử dụng tệp này làm khóa để mở khóa.SSH Key they will guide you to save the key file on your local computer. When you want to use the VM you need to use this file as a key to unlock.
Nếu bạn bị mất chìa khóa hoặc thay đổi máy tính mà không sao chép SSH từ máy tính cũ, mọi thứ sẽ trở nên phức tạp. or changing computer without copying the SSH from old computer things will get complicates.
Nếu bạn chọn mật khẩu, tất cả những gì bạn cần thực hiện nhập mật khẩu của mình. Khi bạn đăng nhập vào máy tính đám mây đó, họ sẽ yêu cầu mật khẩu không phải là khóa.Password all you need to do type in your password. Once you logging in that cloud computer they will ask for Password not the key.
Khuyến nghị chính thức là khóa SSH nhưng sự lựa chọn là tùy thuộc vào bạn!
Bây giờ hãy để làm một số phần nghiêm trọng
Nhập máy tính của bạn
Ảnh của arget trên unplashHãy nói rõ ràng, chỉ có 3 điều bạn cần vào máy tính của riêng bạn
- Địa chỉ của máy tính đám mây của bạn - Bạn có thể tìm thấy nó trên bảng điều khiển, nó trông giống như 53.94.1x.4x3
- Một máy tính có phần mềm máy khách SSH
- Khóa hoặc mật khẩu SSH
SSH là gì?
SSH đứng cho giao thức vỏ an toàn, đó là cách đơn giản để kết nối với máy tính từ xa.
Phần mềm máy khách SSH là gì?
Nó là một phần mềm được tạo ra để kết nối với máy tính đám mây bằng giao thức bảo mật
- Mac OS và Linux trông giống nhau - không cần phải tải xuống bất cứ thứ gì mà nó trên thiết bị đầu cuối của bạn.
- Windows Bạn có thể tải xuống một phần mềm miễn phí như. Putty
Đăng nhập vào máy tính của bạn
Đối với người dùng Putty chỉ cần mở ứng dụng và làm theo quy trình với địa chỉ và khóa hoặc mật khẩu.
Đối với người dùng thiết bị đầu cuối, hãy sử dụng lệnh này:
# Login with SSH Key
$ ssh -I < SSH Key File > < User name >@< VM_adress >
$ ssh -i ~/ssh/id_rsa # Login with Password
$ ssh < User name >@< VM_adress >
$ ssh
Chỉ vài giây bây giờ bạn sẽ sử dụng máy tính Linux Cloud của mình.
Bắt đầu hành trình của bạn với máy tính Cloud Linux
Vì không có GUI vì đây là thiết bị đầu cuối lệnh bây giờ bạn cần sử dụng một số cơ bản trong điều khiển dòng lệnh Unix của bạn.no GUI because it is a command terminal now you need to use some basic in unix command line manipulation your experiences.
Dưới đây là một số dòng lệnh chung mà bạn nên biết:you should know:
cd — Enter directory
ls — look what is in this location
rm — remove file
Di chuyển tệp từ máy tính cục bộ với SSH
Nếu bạn sử dụng putty chỉ kéo và thả nhưng đối với macOS và linux trông giống như chúng ta cần sử dụng lệnh
$ scp myfile.txt remoteuser@remoteserver:/remote/folder/
Và cũng theo cách tương tự để chuyển tập tin đến máy tính cục bộ của chúng tôi.move file to our local computer too.
$ scp remoteuser@remoteserver:/remote/folder/myfile.txt myfile.txt
Để biết thêm về tải xuống và tải lên Vis SSH
Chạy mã của chúng tôi
Cuối cùng, thời gian để chạy mã của chúng tôi
Nếu bạn muốn chạy Main.py. Dễ dàng nhập nó dưới dạng thiết bị đầu cuối trong máy tính cục bộ:run main.py. Easily type it as a terminal in local computer:
$ python3 main.py
Sau đó, tất cả chúng ta đã thiết lập.
Được chú ý*: Vì đây là một máy tính mới, tất cả các thư viện bổ sung có thể không được cài đặt ở nơi đầu tiên. Bạn cần cài đặt tất cả các thư viện mà bạn cũng sẽ sử dụng như một máy tính mới.extra library might not be installed at the first place. You need to install all library that you will use like a new computer too.
Mã chạy 24/7
Nếu bạn nhận thấy ngay cả khi bạn chạy mã, nó sẽ chạy trên máy tính từ xa nhưng nếu bạn đóng kết nối SSH, tác vụ sẽ dừng lại.
Don lồng hoảng loạn, chúng tôi sẽ sử dụng màn hình ”“screen”
Trước khi chạy bất kỳ tập lệnh nào mà nó đã sử dụng từ lâu any script that It took to long type the command
$ screen
Điều này sẽ giúp sử dụng có thể đóng/chấm dứt thiết bị đầu cuối của họ và nhiệm vụ vẫn sẽ chạy. task will still running.
HBRETY Màn hình
Loại màn hình -R Màn hình gần đây mà bạn đã chạy sẽ được hiển thị.
$ screen -r
Và sau đó bạn có thể theo dõi công việc của bạn.
Mẹo để theo dõi quá trình chạy.
Trong Python có một thư viện để hiển thị thanh quy trình của vòng lặp có tên là TQDM.show the process bar of the loop called tqdm.
Việc sử dụng rất đơn giản
import tqdm
for i in tqmd[range[len[100000]]]:
//Some action
Sau đó, bạn sẽ có thanh quy trình khi bạn chạy nó.
from flask import Flask
import random
import threading
app = Flask[__name__]
number = 0
@app.route["/"]
def hello_world[]:
""" URL returns random number """
return str[number]
def gen_rand[]:
""" generating random numbers """
global number
while True:
number = random.randint[0, 5]
time.sleep[2]
if __name__ == '__main__':
# starting thread to generate the number
x = threading.Thread[target=gen_rand, daemon=True]
x.start[]
# starting web server
app.run[]
0Tại sao tập lệnh của tôi chạy và dừng lại với lỗi - không thành công?
Chủ yếu là vì ứng dụng Python của bạn sử dụng môi trường cho đến khi nó đạt được tối đa của RAM.python app use the environment till it hit the maximum of the RAM.
Bạn có thể sửa nó bằng cách nâng cấp VM và thêm RAM vào máy tính đám mây của bạn.
Tắt nếu bạn sử dụng
Mỗi giây là tiền 💵 và môi trường thế giới. Để tiết kiệm tiền và thế giới, xin vui lòng tắt máy tính khi bạn sử dụng nó. 💵 and world environment. In order to save money and world, please turn the computer off when you haven’t use it.
Bạn có thể chỉ cần tắt nó bằng bảng điều khiển dịch vụ của bạn. Trong các thị giác, bạn cũng có thể bật nó theo cùng một cách.shut it down by your service dashboard. In vises versa you can turn it on in the same way too.