有一些流行的Ruby状态机宝石,例如geekq/workflow和aasm。它们在多租户Rails 4.2应用程序中是否安全?
我正在使用geekq/workflow
在process definition
上将model class
定义为class method
。这让我想知道其他登录较晚的用户是否会覆盖以前的用户工作流程定义。
有些开发人员可以对状态机的线程安全问题发表评论吗?或者推荐一个状态机gem,它在多租户Rails app中是线程安全的吗?
答案 0 :(得分:1)
这些宝石旨在让您 - 开发人员定义工作流或状态机,其中可能的状态和转换方式对每个人都是相同的。如果这就是您正在做的事情,那么无论租户如何,工作流程都会在开始时设置并且永远不会更改,并且它们适用于多线程,多租户应用程序。
如果您让用户定义工作流程,我认为它们不是正确的工具。