Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Elixir Exto Repo自动检查和设置?_Elixir_Ecto - Fatal编程技术网

使用Elixir Exto Repo自动检查和设置?

使用Elixir Exto Repo自动检查和设置?,elixir,ecto,Elixir,Ecto,我如何原子化地检查和设置外部回购中的某些内容?我希望确保没有其他进程并行地更改结构的任何部分,即使两次写入没有重叠,也没有读取相同的数据 比如说, Process A: 1. read {x=3, y=5} 2. update {x=100+3+5} Process B: 1. read {x=3, y=5} 2. update {y=200+3+5} 这里至少有一个进程(最好是一个进程)应该失败并重试,因为它们都依赖于两个值,即使它们只更改一个值。完全按照您的要求执行。它需要迁移到有问题

我如何原子化地检查和设置外部回购中的某些内容?我希望确保没有其他进程并行地更改结构的任何部分,即使两次写入没有重叠,也没有读取相同的数据

比如说,

Process A:
1. read {x=3, y=5}
2. update {x=100+3+5} 
Process B:
1. read {x=3, y=5}
2. update {y=200+3+5} 
这里至少有一个进程(最好是一个进程)应该失败并重试,因为它们都依赖于两个值,即使它们只更改一个值。

完全按照您的要求执行。它需要迁移到有问题的表中(添加一个
version
字段或任何您想要调用它的内容)

我可以给你举个例子,但我只是从文档中复制和粘贴。他们完美地描述了它