繁体   English   中英

如何按特定时间表运行云中托管的简单python脚本?

[英]How can I run a simple python script hosted in the cloud on a specific schedule?

假设我有一个文件“ main.py”,我只希望它每隔10分钟运行一次,而不是在我的计算机上运行。 该文件使用的唯一外部库是mysql.connector和pip请求。

我尝试过的事情:

PythonAnywhere-免费层太有限(需要连接到外部数据库)

AWS Lambda-仅支持多达Python 2.7,转换了我的代码,但仍然有问题

Google Cloud Platform + Heroku-只能找到涵盖部署应用程序的教程,我认为这些可以满足我的需求,但我不知道如何实现。

谢谢!

我会采取一看就我去一个AWS RedHat安装,它是免费使用-提问/回答,我以前问上unix.stackexchange。

确定虚拟机后,可以使用任何SSH客户端将SSH添加到服务器上并上传Python脚本。 个人喜好是应用程序。

如果需要更新服务器上的Python版本,可以通过安装所需的Python RPM来完成。 快速的google应该返回yum [或您正在使用的RPM管理系统]存储库以获取所需的RPM。

安装所需的Python版本后,建议您查看可用于安排作业的“ crontab”。 您可以将cronjob设置为每10分钟运行一次,这将调用您的脚本。

有关如何使用crontab的更多信息,请参见此网站。

这听起来像是支持Python的 AWS Lambda的完美用例。 您可以使用Scheduled Events在时间表上调用Lambda。

我发现您尝试了Lambda,但对您来说却没有用,这太糟糕了,因为这似乎是最简单的方法。 您还可以启动EC2实例,并在实例启动时使用userdata计划cron。

另一个选择是具有cron.yml的Elastic Beanstalk工作者 ,该工作者定义您的计划。 Elastic Beanstalk支持Python 3.4。

更新:AWS现在支持Python 3.6。 配置时,只需从运行时环境中选择Python 3.6。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM