【问题标题】:Getting Data From A Specific Website Using Google Cloud使用 Google Cloud 从特定网站获取数据
【发布时间】:2018-01-03 12:06:51
【问题描述】:

我有一个机器学习项目,我必须每 15 分钟从一个网站获取数据。而且我不能使用自己的电脑,所以我将使用谷歌云。我正在尝试使用 Google Compute Engine,并且我有一个用于获取数据的脚本(这里是链接:https://github.com/BurkayKirnik/Automatic-Crypto-Currency-Data-Getter/blob/master/code.py)。该脚本每 15 分钟获取一次数据并将其写入 csv 文件。我可以通过打开 SSH 终端并从那里执行它来运行此代码,但是当我关闭终端时它停止工作。我试图通过在启动脚本中执行它来运行它,但它也不能以这种方式工作。如何运行它并保存 csv 文件?顺便说一句,我必须安装一个 API 来运行代码,并且我正在启动脚本中执行此操作。这部分没有问题。

【问题讨论】:

  • 如果您使用的是 Compute Engine 或 App Engine,答案会有所不同。你都标记了,你实际使用的是哪个?
  • @BrettJ 我想使用计算引擎,但如果需要,我也可以使用应用引擎

标签: google-cloud-platform google-compute-engine


【解决方案1】:

在 Google Cloud Platform 中运行的实例可以使用它们运行的​​操作系统中可用的相同工具进行配置。如果您的实例是 Linux 实例,最好的方法是使用 cronjob 以您选择的时间间隔重复执行您的脚本。

通过 SSH 访问实例后,您可以通过运行以下命令打开 crontab 配置文件:

$ crontab -e 

上述命令将提供对您个人 crontab 配置的访问权限(对于您登录的用户)。如果你想以 root 身份运行脚本,你可以使用它:

$ sudo crontab -e

您现在可以编辑 crontab 配置并添加一个条目,告诉 cron 以您所需的时间间隔(在您的情况下每 15 分钟)执行您的脚本。

因此,您的 crontab 条目应如下所示:

*/15 * * * * /path/to/you/script.sh

注意第一个条目是分钟,所以通过使用 */15,你告诉 cron 守护进程每 15 分钟执行一次脚本。

一旦您编辑了 crontab 配置文件,最好重新启动 cron 守护程序以确保您所做的更改将会生效。为此,您可以运行:

$ sudo service cron restart

如果您想检查状态以确保 cron 服务正在运行,您可以运行:

$ sudo service cron status

您的脚本现在将每 15 分钟执行一次。

在存储 CSV 文件方面,您可以编写脚本以将它们存储在实例上,或者使用 Google Cloud Storage 存储桶。通过使用 gsutil(Cloud SDK 的一部分)命令,可以轻松地将文件复制到存储桶,如 here 所述。如here 所述,也可以将存储桶挂载为文件系统。

【讨论】:

    猜你喜欢
    • 2021-08-04
    • 2020-11-15
    • 1970-01-01
    • 1970-01-01
    • 2023-01-01
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多