Ruby on rails 如何在不丢失tmp文件的情况下部署到Heroku?

Ruby on rails 如何在不丢失tmp文件的情况下部署到Heroku?,ruby-on-rails,ruby-on-rails-3,postgresql,heroku,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3,Postgresql,Heroku,Ruby On Rails 3.2,我有一个计划作业,每12小时运行一次,将FTP服务器上的图像文件解压缩到我的tmp文件夹中。问题在于,由于Heroku的临时文件系统,每当我部署新代码时,当dyno重新启动并且文件不再存在时,tmp文件夹就会被清除。我希望能够随意部署代码,而不必担心这个问题 我曾想过创建第二个应用程序来运行此任务并连接到同一个数据库。根据通过这种方式,我可以将与此任务无关的代码更新部署到我的生产服务器,并且可以更有选择性地选择何时部署到第二台服务器 有人有在同一数据库上运行两个应用程序的经验吗?还是有更好的方法

我有一个计划作业,每12小时运行一次,将FTP服务器上的图像文件解压缩到我的tmp文件夹中。问题在于,由于Heroku的临时文件系统,每当我部署新代码时,当dyno重新启动并且文件不再存在时,tmp文件夹就会被清除。我希望能够随意部署代码,而不必担心这个问题

我曾想过创建第二个应用程序来运行此任务并连接到同一个数据库。根据通过这种方式,我可以将与此任务无关的代码更新部署到我的生产服务器,并且可以更有选择性地选择何时部署到第二台服务器


有人有在同一数据库上运行两个应用程序的经验吗?还是有更好的方法来解决我的问题?我读到Heroku可能随时更改数据库URL,因此第二个应用程序可能会失去连接。这有多普遍?谢谢

我相信在Heroku上使用应用程序是可能的


检查此项:

我将在public(例如public/storage)下创建一个文件夹,并将解压缩文件保存在此处

依靠/tmp永久化是自找麻烦的。考虑将文件存储在s3(或类似版本)上,但这似乎不是最佳做法。它确实解决了我的问题。我有一个任务,在上传后立即运行,以清除已上传的文件,这样应用程序就不会变得太臃肿。我想我会在未来几天将这个提要功能从我的主应用程序提取到一个单独的应用程序中,以构建一个简单的api/gem,这样我的主应用程序就可以查询api并以这种方式更新自己,而无需共享数据库。上传到S3会让一切都慢下来,而且一旦文件上传到我的数据库,我就不需要保留它们了,所以这似乎是不必要的。我建议了一个可能的解决方案。S3或外部存储将是理想的解决方案。。但为了满足你的迫切需要,我的解决方案会奏效的。