每天在特定时间运行Google Colab

时间:2020-05-12 21:13:48

标签: python jupyter-notebook airflow google-colaboratory

我最近构建了一个可在Google Colaboratory上运行的Python程序,我需要每天在特定时间运行该程序,那么有什么办法可以安排它在Google Colab上运行?

3 个答案:

答案 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。

  • 在ngrok.com上创建帐户
  • 将以下代码复制并粘贴到colab中,该代码将安装ngrok并为我们创建隧道

来源:https://gist.github.com/yashkumaratri/204755a85977586cebbb58dc971496da#file-google-colab-ssh

  • 现在,在本地计算机上,打开终端和SSH以连接到Colab系统。

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。

相关问题