我有一个Feed模型,可以下载文件,然后从Product模型中创建产品。
我有一个启动Feed下载过程的before_save(当提交新的Feed表单时),并创建新产品。然后我在Product模型上有一个下载远程照片的before_save,以及计算其他一些东西。
但是,而不是:
它只是挂起,没有什么事情发生。 Feed无法下载,产品不会进入数据库。
在保存之前是否有一种已知的“菊花链”方式?
任何帮助表示赞赏:)
谢谢,
杰夫
答案 0 :(得分:1)
before_save可能是错误的地方。听起来你需要在before_create中做到这一点。
顺便说一句: 我认为架构是错误的。您的模型基于远程数据等我会异步创建它。这意味着:当您点击“创建”并且http-connect挂断时,就会出现故障。
更好的是:只创建对象。制作一个cronjob(或任何其他工作),它接受新元素并处理它们(远程下载等)。所以远程下载是在后台(我认为在一个良好的架构中,这是他们的正确位置)。
我对进口做同样的事情。只需创建导入程序(并上传文件)。但真正的导入(或处理文件)需要在后台作业中异步