当多个进程尝试写入同一文件时会发生什么?

考伦

由于第三方库的限制,我需要使用具有静态名称的文件。如果多个用户试图同时写入该文件,在Rails中会发生什么?EACCESS错误?

有什么办法可以规避吗?

戴夫·史威斯古斯

在Ruby级别上,如果多个进程尝试写入文件会发生什么情况,取决于库使用文件的方式:在打开文件之前是否锁定文件以及锁定文件的方式以及打开文件的方式。它可能会起作用,它可能会引发错误,或者(很可能,如果库不采取任何措施来处理这种情况),多个编写者可能以一种可能破坏文件的方式静默地相互交错写操作,否则最后一个编写者可能会获胜。

在Rails级别,这取决于您如何运行Rails。如果在给定的服务器上运行一个通常配置的Rails实例,则不会有任何问题,因为默认情况下Rails本身是单线程的。如果您运行多个Rails实例(大概是由旅客或独角兽之类的应用程序服务器控制的),则可能会遇到问题。

假设该库无法为您处理多个编写器,则可以通过以下两种方法解决该问题:

  • 在每台服务器(或Docker容器或chrooted环境)上仅运行Rails应用程序的一个实例。
  • 分叉该库,并将其更改为在文件名中包含进程ID。那就是我要做的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当多个进程尝试写入同一文件时会发生什么?

来自分类Dev

BASH:将多个bash后台进程写入同一文件是否安全?

来自分类Dev

多个PowerShell脚本写入同一文件

来自分类Dev

当您两次列出同一文件时,在Inno Setup中会发生什么?

来自分类Dev

如果同一文件中有2个Appdelegate类,将会发生什么情况

来自分类Dev

多个Java进程可以同时读取同一文件吗?

来自分类Dev

多个进程使用>重定向到同一文件

来自分类Dev

多个RandomAccessFile对象可以将数据写入同一文件吗?

来自分类Dev

Java-多个线程写入同一文件

来自分类Dev

使用BufferWriter从多个类写入同一文件

来自分类Dev

抓多个蜘蛛将项目写入同一文件

来自分类Dev

使用StreamWriter()与StreamReader()写入同一文件

来自分类Dev

使用ExecutorService命令写入同一文件

来自分类Dev

Fortran从if语句内部写入同一文件

来自分类Dev

同一文件的多个文件句柄

来自分类Dev

多个`FILE`附加到同一文件

来自分类Dev

反应同一文件的多个导入

来自分类Dev

同一文件系统的多个挂载点

来自分类Dev

从同一文件中绘制多个系列

来自分类Dev

当多个进程尝试在两个不同文件系统之间转换相同文件时会发生什么?

来自分类Dev

同一fd在不同进程中如何指向同一文件?

来自分类Dev

为什么在管道中读取和写入同一文件会产生不可靠的结果?

来自分类Dev

当两个进程写入mmaped文件的相同部分时会发生什么?

来自分类Dev

在视觉上,当您使用&符号调用同一进程时会发生什么

来自分类Dev

Powershell-将文件名写入同一文件

来自分类Dev

Java 6是否支持一次读取和写入同一文件?

来自分类Dev

两个记录器写入同一文件

来自分类Dev

Linux C编程:并发读取/写入同一文件描述符

来自分类Dev

您可以多次打开同一文件进行写入吗?

Related 相关文章

  1. 1

    当多个进程尝试写入同一文件时会发生什么?

  2. 2

    BASH:将多个bash后台进程写入同一文件是否安全?

  3. 3

    多个PowerShell脚本写入同一文件

  4. 4

    当您两次列出同一文件时,在Inno Setup中会发生什么?

  5. 5

    如果同一文件中有2个Appdelegate类,将会发生什么情况

  6. 6

    多个Java进程可以同时读取同一文件吗?

  7. 7

    多个进程使用>重定向到同一文件

  8. 8

    多个RandomAccessFile对象可以将数据写入同一文件吗?

  9. 9

    Java-多个线程写入同一文件

  10. 10

    使用BufferWriter从多个类写入同一文件

  11. 11

    抓多个蜘蛛将项目写入同一文件

  12. 12

    使用StreamWriter()与StreamReader()写入同一文件

  13. 13

    使用ExecutorService命令写入同一文件

  14. 14

    Fortran从if语句内部写入同一文件

  15. 15

    同一文件的多个文件句柄

  16. 16

    多个`FILE`附加到同一文件

  17. 17

    反应同一文件的多个导入

  18. 18

    同一文件系统的多个挂载点

  19. 19

    从同一文件中绘制多个系列

  20. 20

    当多个进程尝试在两个不同文件系统之间转换相同文件时会发生什么?

  21. 21

    同一fd在不同进程中如何指向同一文件?

  22. 22

    为什么在管道中读取和写入同一文件会产生不可靠的结果?

  23. 23

    当两个进程写入mmaped文件的相同部分时会发生什么?

  24. 24

    在视觉上,当您使用&符号调用同一进程时会发生什么

  25. 25

    Powershell-将文件名写入同一文件

  26. 26

    Java 6是否支持一次读取和写入同一文件?

  27. 27

    两个记录器写入同一文件

  28. 28

    Linux C编程:并发读取/写入同一文件描述符

  29. 29

    您可以多次打开同一文件进行写入吗?

热门标签

归档