运行 一个 Python 应用程序 24x7 - 设计问题
Running a Python Application 24x7 - Design question
我在 Jupyter notebook/Google Colab 中有一个 python 功能,可以检查当前股票价格和其他计算。我打算根据某些触发器设置一些警报。因此,为了能够 运行 整个工作日,我如何以及在哪里 运行 代码?
我。我如何 运行 python 代码 24x7?我需要有一个 运行 24/7 的指定服务器吗?
二.我应该将我的代码更改为 python 脚本而不是使用笔记本吗?
三. python项目结构有好的参考吗?
四.关于 python 库设置 email/sms/Whatsapp 警报的任何建议?
v. 我计划在未来添加 ML 功能。我应该使用云函数还是本地 GPU?
我.
您可以使用您选择的编译器 运行 一个 python 脚本,例如 Visual Studio 或 PyCharm。但是,这会耗尽您的 CPU 并且可能并非始终是 运行ning 的最佳选择。就个人而言,我使用 Vim 来编辑我的文件,并使用 Git Bash 来编辑脚本。我在使用我的计算机时使用脚本 运行ning 几个小时没有问题。
二.
您可以使用标准文本编辑器或 python 编译器。这取决于你是否
你想不想跟踪你的错误。
III.
我不希望我的回答被标记为广告,所以我只想说简单搜索“Best Python Books”会给出一些很棒的结果。但是,作为参考,您可以参考 https://docs.python.org/3/
上的官方 python 文档
四.
用于发送 SMS messages/Whatsapp 消息的一个很好的库是 Twilio。您可以只输入发件人 phone 号码和收件人号码,这基本上就是用于发送文本。这里有更多信息:https://www.twilio.com/docs/libraries/python.
对于电子邮件,您可以使用标准电子邮件系统,例如 SMTP。这里有更多信息:https://www.tutorialspoint.com/python/python_sending_email.htm
V.
这取决于您对该应用程序的最终目标是什么。如果您打算只是向您的朋友和家人炫耀一下,本地 GPU 应该没问题。但是如果你打算把它发布到 public,使用云服务器是最好的选择之一。
一种设计解决方案是使用 google 云平台或亚马逊网络服务等云提供商来安排 python 脚本的执行。涉及的 gcp 服务将是 Pub/Sub、Cloud Scheduler、Cloud Functions、Storage 和 Cloud Source Repositories。
- Pub/Sub := 异步消息服务
- Cloud Scheduler := 一个 cronjob 调度程序
- Cloud Functions := Functions-as-a-Service,自动部署计算引擎和存储以执行 python 脚本,然后删除计算引擎和存储。
- 云存储库 := 私有 Git 存储库
- 你用 Pub/Sub 创建了一个 topic/channel。
- 您通过 Cloud Scheduler 设置了一个 cronjob,以定期向先前创建的 pub/sub 主题发送消息。
- 您将包含 python 脚本的 GitHub 存储库与 Cloud Source Repository 连接(Cloud Source Repository 从现在开始将自动与您的 GitHub Repository 同步)
- 您使用 Cloud Functions 创建了一个函数,并将您的 Cloud Source Repository 用作该函数的源代码。作为此功能的触发器,您可以设置发送到先前创建的 Pub/Sub 主题的任何消息。
- python 脚本可以包括用于请求股票数据的 yfinance 库,用于通过 GCP 存储处理数据存储的 google 云库,然后您可以使用其他 google 包含 ML 服务的云库。
我在 Jupyter notebook/Google Colab 中有一个 python 功能,可以检查当前股票价格和其他计算。我打算根据某些触发器设置一些警报。因此,为了能够 运行 整个工作日,我如何以及在哪里 运行 代码?
我。我如何 运行 python 代码 24x7?我需要有一个 运行 24/7 的指定服务器吗?
二.我应该将我的代码更改为 python 脚本而不是使用笔记本吗?
三. python项目结构有好的参考吗?
四.关于 python 库设置 email/sms/Whatsapp 警报的任何建议?
v. 我计划在未来添加 ML 功能。我应该使用云函数还是本地 GPU?
我. 您可以使用您选择的编译器 运行 一个 python 脚本,例如 Visual Studio 或 PyCharm。但是,这会耗尽您的 CPU 并且可能并非始终是 运行ning 的最佳选择。就个人而言,我使用 Vim 来编辑我的文件,并使用 Git Bash 来编辑脚本。我在使用我的计算机时使用脚本 运行ning 几个小时没有问题。
二. 您可以使用标准文本编辑器或 python 编译器。这取决于你是否 你想不想跟踪你的错误。
III. 我不希望我的回答被标记为广告,所以我只想说简单搜索“Best Python Books”会给出一些很棒的结果。但是,作为参考,您可以参考 https://docs.python.org/3/
上的官方 python 文档四. 用于发送 SMS messages/Whatsapp 消息的一个很好的库是 Twilio。您可以只输入发件人 phone 号码和收件人号码,这基本上就是用于发送文本。这里有更多信息:https://www.twilio.com/docs/libraries/python.
对于电子邮件,您可以使用标准电子邮件系统,例如 SMTP。这里有更多信息:https://www.tutorialspoint.com/python/python_sending_email.htm
V. 这取决于您对该应用程序的最终目标是什么。如果您打算只是向您的朋友和家人炫耀一下,本地 GPU 应该没问题。但是如果你打算把它发布到 public,使用云服务器是最好的选择之一。
一种设计解决方案是使用 google 云平台或亚马逊网络服务等云提供商来安排 python 脚本的执行。涉及的 gcp 服务将是 Pub/Sub、Cloud Scheduler、Cloud Functions、Storage 和 Cloud Source Repositories。
- Pub/Sub := 异步消息服务
- Cloud Scheduler := 一个 cronjob 调度程序
- Cloud Functions := Functions-as-a-Service,自动部署计算引擎和存储以执行 python 脚本,然后删除计算引擎和存储。
- 云存储库 := 私有 Git 存储库
- 你用 Pub/Sub 创建了一个 topic/channel。
- 您通过 Cloud Scheduler 设置了一个 cronjob,以定期向先前创建的 pub/sub 主题发送消息。
- 您将包含 python 脚本的 GitHub 存储库与 Cloud Source Repository 连接(Cloud Source Repository 从现在开始将自动与您的 GitHub Repository 同步)
- 您使用 Cloud Functions 创建了一个函数,并将您的 Cloud Source Repository 用作该函数的源代码。作为此功能的触发器,您可以设置发送到先前创建的 Pub/Sub 主题的任何消息。
- python 脚本可以包括用于请求股票数据的 yfinance 库,用于通过 GCP 存储处理数据存储的 google 云库,然后您可以使用其他 google 包含 ML 服务的云库。