我最近构建了一个可在Google Colaboratory上运行的Python程序,我需要每天在特定时间运行该程序,那么有什么办法可以安排它在Google Colab上运行?
答案 0 :(得分:4)
您需要创建一个列出所有协作URL的notebooks.csv
。然后使用colabctl
运行每个笔记本(依次在CSV中同步提及),然后暂停n秒,再重新运行它们。
然后您可以运行python colabctl.py <end-string> <sleep-seconds>
,
回购中有一个gCookies.pkl
文件。确保您的本地Python版本与用于创建此序列化pkl文件的版本相同。
参考:https://github.com/TensorTom/colabctl
现在我们已经准备好笔记本和脚本,接下来是能够通过SSH进入Google colab。
来源:https://gist.github.com/yashkumaratri/204755a85977586cebbb58dc971496da#file-google-colab-ssh
ssh root@0.tcp.ngrok.io -p <port_num_generated_above>
现在您可以通过SSH终端访问整个系统。并且可以继续对本地环境中的任何其他玉米脚本使用colabctl来执行远程colab脚本。
答案 1 :(得分:1)
如果您愿意为此付费,则可以使用Google Cloud Scheduler:
https://cloud.google.com/scheduler
有关设置详细信息的相关链接:
https://minimaxir.com/2018/11/cheap-cron/
https://cloud.google.com/scheduler/docs/quickstart
如果没有,那么除了上一个答案外,您还可以考虑将脚本移至本地环境并使用Task Scheduler。
答案 2 :(得分:0)
如果需要,您可以使用colabctl从命令行运行Google Colaboratory笔记本。只需将colabctl.py添加到cron作业中即可。
注意:如果要在无头服务器上运行它,则首先需要在桌面上运行一次,以将登录Cookie保存到pickle文件中,然后将该pickle上传到您的服务器和colabctl。