我有一个本地gem,我从主应用程序移出了一些功能。它主要用于准备导入数据库的数据
#importer gem's public instance method "import"
Importer::Processor.new('data.xls').prepare_for_import
此过程可能会长时间运行,具体取决于data.xls
尺寸
这是我在模型中使用它的方式
#ProductImport model
def importing_data
Importer::Processor.new(self.data_file).prepare_for_import
end
def insert_data_to_db
self.class.import importing_data
end
现在我想从准备过程中“接收”信息的方式,并将其写入我的ProductImport
实例的数据库......
我不想直接在gem中写入当前产品导入行,因为我想保留gem独立
我试图在@@status
Importer::Processor
方法中设置类变量(prepare_for_import
) - 没有运气,如果我尝试用这样的异步过程读取它,它会保持初始状态
Importer::Processor.class_variable_get(:@@status)
还尝试了全局变量$status
甚至动态常量设置(抱歉这个=))
Importer::Processor.const_set('STATUS', '1234 rows processed')
没有运气 - 太
你能提出我可以在gem的实例方法中访问长时间运行进程的当前状态的方法吗?
谢谢