【发布时间】:2012-05-24 17:33:15
【问题描述】:
嗯,我的头在这里有点旋转。我从我认为很简单的任务开始,在 heroku 上定期进行 db 转储并将它们推送到个人 S3 帐户进行备份。
我不确定执行此操作的最佳方法。在 Java 中访问 S3 非常清晰,从 heroku 获取 db 转储现在就像泥巴一样清晰......
免责声明:我不了解 Ruby,如果我不需要,我真的不想学习 Ruby,我真的很想使用 Java(这就是我选择 play 的原因)并且我想拥有它托管,这就是我选择 Heroku 的原因 :-)
所以,我可以使用 heroku 调度程序,但我不明白这里正在执行哪些脚本 - 是 /bin 中的所有脚本吗?这些是什么类型的脚本,它们是 ruby 脚本吗?当它们不是 rake 任务时,我如何将它们添加为“任务”?
我可以通过 URL 使用 pgbackups 吗?看起来 rake 示例执行 pg_dump 代替,写入 tmp 文件,然后从那里移动它。我很不清楚如何从脚本中访问 heroku 数据库的东西,到目前为止我看到的例子都是 rake,所以任何见解都会有所帮助......
或者从我的 java 应用程序内部访问它,Heroku java API 的状态是什么?如果有办法从我的 java 访问 heroku 运行时,或者以某种方式使用 heroku.jar?
很高兴获得该领域的一些总体指导和最佳实践 - 谢谢!!!
【问题讨论】:
-
这是一个很好的问题,但我没有很好的答案。但可能还有另一种可行的方法。你在使用共享数据库插件吗?如果是这样,您可能希望改用 postgres.heroku.com 数据库。他们有一个dev plan 和许多功能,可以提供更好的方法来做到这一点。
-
我在一个共享数据库上。现在,当我运行 Heroku 运行 Bash 时,我似乎无法访问 pg_dump。这似乎很奇怪,因为我在 ruby 应用程序中看到的 rake 任务称为 pg_dump。我认为通过这最后一块拼图,我可以得到一些工作......
-
您可以使用
heroku run bash来查看测功系统上的内容。 -
我刚刚整理了一个 Play 2 小应用程序,它有一个可以作为一次性进程或从 Heroku Scheduler 附加组件运行的作业:github.com/jamesward/play2-scheduled-job-demo 希望对您有所帮助。
-
感谢您提供的好例子!我认为我这个问题得到了很好的回答,但不知道如何从这条评论中投票给你——无论如何——这是我的意图!
标签: heroku playframework