Hướng dẫn how to run python script 24/7 - cách chạy tập lệnh python 24/7

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ữ

Hướng dẫn how to run python script 24/7 - cách chạy tập lệnh python 24/7

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

Hướng dẫn how to run python script 24/7 - cách chạy tập lệnh python 24/7

cấp độ 1

Tôi đề nghị zeit ngay bây giờ (https://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ờ (https://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 unplash

Về 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 unplash

Ví 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 unplash

Bâ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

  1. Mở khóa bằng khóa (khóa SSH)
  2. 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 unplash

Hã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()
0

Tạ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.

Một kịch bản Python có thể chạy 24 7 không?

Có một ide replit.com khá tốt, nơi bạn có thể chạy Python của mình nhưng nếu bạn muốn chạy nó 24/7, bạn phải nhận được gói Hacker Hacker mà bạn có thể nhận miễn phí với gói giáo dục GitHub nếu bạn kết nối với nó vớiTài khoản sao chép của bạn, gói này cũng miễn phí nếu bạn học đại học hoặc trung học bằng thẻ học sinh.if you want to run it 24/7 you have to get the “hacker” plan which you can get for free with the github education pack if you connect it to your replit account, this pack is also free if you're in college or high school with a student card.

Làm thế nào tôi có thể chạy một kịch bản Python trực tuyến miễn phí?

Để chạy mã Python trực tuyến, hãy viết mã Python của bạn vào trình chỉnh sửa và nhấn nút chạy để thực thi nó.Bạn sẽ thấy kết quả trong trình duyệt của bạn.IDE trực tuyến này hoạt động với Python 3.write your Python code in the editor and press the Run button to execute it. You will see the result in your browser. This online IDE works with Python 3.

Cron trong Python là gì?

Cron là một tiện ích phần mềm hệ điều hành giống như UNIX cho phép chúng tôi lên lịch các nhiệm vụ.Các tác vụ của Cron được chỉ định trong một crontab, đây là một tệp văn bản chứa các hướng dẫn để chạy.Mô -đun Crontab trong Python cho phép chúng tôi xử lý các hoạt động theo lịch trình bằng Cron.a Unix-like operating system software utility that allows us to schedule tasks. Cron's tasks are specified in a Crontab, which is a text file that contains the instructions to run. The Crontab module in Python allows us to handle scheduled operations using Cron.