gpt4 book ai didi

ruby - 一个接一个地运行 ruby​​ 方法

转载 作者:太空宇宙 更新时间:2023-11-03 17:19:59 25 4
gpt4 key购买 nike

我创建了一个医生导入器,但我想先运行并完成一些方法,例如在更新医生数据之前创建新办公室等。在运行方法中,它们是否同时运行?还是方法一次运行一个?

ruby

  def run
# Create all of our dependencies
create_hospitals
create_departments
create_specialties
create_offices

# Map the dependencies to each doctor
map_hospitals
map_departments
map_specialties
map_offices

# Save the mapped data, then traverse and create doctors that don't exist
@record.save
update_doctors # Update existing physicians
create_doctors # Create new physicians

# Update the record status
@record.import_log.empty? ? @record.completed! : @record.failed!
end

我希望第一个创建和映射方法在更新方法运行之前运行并完成。

最佳答案

Ruby 将按照调用顺序运行方法。 Ruby 默认不是异步的。然而在 Rails 中它是常见的并且推荐使用异步后台作业。参见 documentation有关如何设置它的想法。

此外,查看您在 run 方法中运行的一长串方法,在不知道它们的作用的情况下,我只能推测可能存在一些复杂的业务逻辑。您可能还想看看这个 article on interactors in rails在这种情况下,这可能是一种有用的设计模式。另请参阅以下相关 gem ,interactoractiveinteractor

关于ruby - 一个接一个地运行 ruby​​ 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56706653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com