如何运行每周运行的python脚本(用于API调用)?

时间:2018-11-20 17:07:52

标签: python api cron

我目前正在编写Python脚本并从API访问数据。然后,我从此API获得的数据将保存在AWS RDS SQL Server上。我想知道是否有一种方法可以在特定的日子中运行这些脚本而无需打开计算机。我可以免费运行这些远程服务器吗?或者这是我可以使用Cron Job的东西(据我了解,Cron Jobs只能在自己的计算机上运行)。这些数据正用于班级项目的网站,因此我需要在特定日期自动从API获取最新数据。

2 个答案:

答案 0 :(得分:1)

如果您已经使用过AWS,请尝试使用AWS lambda。您可以在此创建CRON触发器(以及其他许多触发器)。

它是这样的:

  1. 您提供一个包含所有必需代码的zip文件。它将使用一个功能(您可以指定)作为入口点。它必须是Python 2.7或Python 3.6
  2. 该zip文件必须包含所有内容,包括依赖项。 Virtualenv是您创建它的朋友。脾气暴躁没问题
  3. 定义触发器(在您的情况下为CRON)
  4. 定义最大资源(内存,执行时间)

它不是免费的,但很便宜。

陷阱:

  • Lambda本身是无状态的。写入本地文件不会有任何影响。通常您会写S3。
  • 资源限制!最多可以执行5分钟!压缩文件的大小也受到限制。
  • 可以保证执行一次,但不能过分地执行

答案 1 :(得分:0)

AWS Lambda的替代方法是Crono。 Crono是一种更简单的REST API,可让您以编程方式管理基于时间的作业。