Ruby on rails Rails创建新线程或后台进程

Ruby on rails Rails创建新线程或后台进程,ruby-on-rails,ruby,multithreading,background-process,Ruby On Rails,Ruby,Multithreading,Background Process,由于数据库事务繁重,我在应用程序中单击“导出到Excel”链接时出现超时错误问题。 我想将此功能更改为后台,以便用户能够在后台进程运行时向前移动。 我希望当用户单击导出到Excel时,后台链接/新线程进程运行,并向用户发送电子邮件,其中包含下载文件的链接。 我想知道实现这个创建新线程或后台进程的最佳方法是什么 提前感谢您可能需要使用或 您还可以观看: (上面提到的旧消息是免费的,但值得购买订阅)有三种类型的消息队列 无队列-将为后台任务触发一个新线程/进程,例如:spawn 数据库驱动-相应

由于数据库事务繁重,我在应用程序中单击“导出到Excel”链接时出现超时错误问题。 我想将此功能更改为后台,以便用户能够在后台进程运行时向前移动。 我希望当用户单击导出到Excel时,后台链接/新线程进程运行,并向用户发送电子邮件,其中包含下载文件的链接。 我想知道实现这个创建新线程或后台进程的最佳方法是什么

提前感谢

您可能需要使用或

您还可以观看:


(上面提到的旧消息是免费的,但值得购买订阅)

有三种类型的消息队列

  • 无队列-将为后台任务触发一个新线程/进程,例如:spawn
  • 数据库驱动-相应的任务将存储在数据库中的一个表中,并在完成时自动删除,例如:backgroundrb、延迟作业
  • 消息队列-存储在内存中的作业,例如:starling
  • 我没有使用resque,但听说它的配置有点复杂。
    除了在后台运行任务外,如果您想定期运行一些重复性任务,您可以选择backgroundrb。否则,延迟的工作将是正确的选择。

    您也可以将
    上帝
    与救援一起使用