我的目标是每天让NFL比赛焕然一新。
我目前使用R包nflscrapr
(https://github.com/maksimhorowitz/nflscrapR)。
我当前的刷新脚本如下:
library(dplyr)
library(nflscrapr)
library(aws.s3)
source('https://github.com/leesharpe/nfldata/blob/master/code/plays.R')
### ...other data manipulations...
### save to AWS S3 bucket
### FINISH!
按播放数据更新NFL播放并保存到AWS S3实例。因此,我能够访问不同计算机上的数据。很好(这是nflscrapr
社区和Lee Sharpe的主要支持者),但是我想在AWS上创建一个cron作业来每天运行。
关于如何执行此操作有很多想法,例如运行AWS Lambda以启动工作;但是,NFL数据的刷新可能需要30分钟以上的漫长过程。根据AWS网站(https://aws.amazon.com/about-aws/whats-new/2018/10/aws-lambda-supports-functions-that-can-run-up-to-15-minutes/)的说法,Lambda只能在最多3 GB RAM的情况下运行函数15分钟,因此该选项已完全消失。
另一个想法是创建一个完整的EC2实例来运行此代码,并计划每天早晨执行cron作业以启动脚本。但是,如果一个带有2个CPU,8 GB RAM(t2.Large)的简单EC2始终在运行并等待cron作业,则每月的费用约为70美元,这对我来说不值得。
由于这项工作大约需要三十分钟,并且一天只需要运行一次,因此(每天)有没有办法
或者每天运行此脚本后可能创建并销毁一个新的EC2实例?
这有可能为我省很多钱。