【问题标题】:Running a Python Application 24x7 - Design question [closed]24x7 运行 Python 应用程序 - 设计问题 [关闭]
【发布时间】:2020-09-05 20:04:15
【问题描述】:

我在 Jupyter notebook/Google Colab 中有一个 python 功能,可以检查当前股票价格和其他计算。我打算根据一些触发器设置一些警报。那么为了能够在整个工作日运行,我应该如何以及在哪里运行代码?

我。如何 24x7 运行 python 代码?我需要有一个 24/7 全天候运行的指定服务器吗?
ii.我应该将代码更改为 python 脚本而不是使用笔记本吗?
iii. python项目结构有没有好的参考?
iv.关于用于设置电子邮件/短信/Whatsapp 警报的 python 库的任何建议?
v. 我计划在未来添加 ML 功能。我应该使用云函数还是本地 GPU?

【问题讨论】:

    标签: python machine-learning server stock


    【解决方案1】:

    一种设计解决方案是使用像谷歌云平台或亚马逊网络服务这样的云提供商来安排 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 存储库
    1. 您使用 Pub/Sub 创建主题/频道。
    2. 您通过 Cloud Scheduler 设置 cronjob 以定期向之前创建的发布/订阅主题发送消息。
    3. 您将包含 Python 脚本的 GitHub 存储库与 Cloud Source Repository 连接(Cloud Source Repository 将从现在开始自动与您的 GitHub Repository 同步)
    4. 您使用 Cloud Functions 创建一个函数,并使用您的 Cloud Source Repository 作为该函数的源代码。作为此函数的触发器,您可以设置发送到先前创建的 Pub/Sub 主题的任何消息。
    5. python 脚本可以包括 yfinance 库来请求股票数据,谷歌云库通过 GCP 存储处理数据存储,然后您可以使用其他谷歌云库扩展它以包含 ML 服务。

    【讨论】:

      【解决方案2】:

      我。 您可以使用您选择的编译器(例如 Visual Studio 或 PyCharm)运行 python 脚本。但是,这会耗尽您的 CPU,并且可能不是始终运行的最佳选择。就个人而言,我使用 Vim 来编辑我的文件并使用 Git Bash 来编写脚本。在使用我的计算机时,我已经运行了几个小时的脚本,没有任何问题。

      二。 您可以使用标准文本编辑器或 python 编译器。是否由你决定 你是否想跟踪你的错误。

      III. 我不希望我的答案被标记为广告,所以我只想说简单搜索“Best Python Books”会得到一些很棒的结果。但是,作为参考,您可以参考https://docs.python.org/3/的官方python文档

      IV. 发送 SMS 消息/Whatsapp 消息的一个很好的库是 Twilio。您只需输入发件人电话号码和收件人号码,基本上就是发送文本。以下是更多信息:https://www.twilio.com/docs/libraries/python

      对于电子邮件,您可以使用标准电子邮件系统,例如 SMTP。以下是有关此的更多信息:https://www.tutorialspoint.com/python/python_sending_email.htm

      V. 这取决于您对此应用程序的最终目标是什么。如果您打算只向您的朋友和家人展示它,那么本地 GPU 应该没问题。但如果您打算向公众发布它,使用云服务器是最好的选择之一。

      【讨论】:

      • 谢谢!非常感谢您的建议。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-29
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多