我很困惑我应该如何构建这个过程。
我有100个客户,在任何一天都需要PDF报告。他们应该能够随时下载单个报告,但报告只能在前一天晚上的午夜更新(我有一个每天午夜运行的rake任务,用当前信息更新数据库)。 / p>
我还需要能够在任何一天为我自己批量下载所有100份报告。
写这个的最好方法是什么?我想写一个rake任务来创建100个PDF并将它们存储在我的应用程序目录中,然后只需重定向到该文件并每晚运行该任务。这似乎不是很有效,如果我决定运行多个服务器并且找不到文件,我可能会遇到问题......
有什么想法吗?
答案 0 :(得分:1)
根据PDF的大小和您正在使用的数据库,将它们存储在您的数据库中可能是有意义的,或者可能仅使用MongoDB或其他面向文档的NoSQL数据库。但是任何具有BLOB类型的常规数据库都可以工作。
然后您的rake任务可以每晚更新它们,即使您最终运行多个服务器,它们也可以直接从数据库中提供给客户端。您还可以在数据库中包含一些元数据和报告,尤其是上次更新基础数据和上次生成报告的时间。