File tree Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Expand file tree Collapse file tree 2 files changed +33
-1
lines changed Original file line number Diff line number Diff line change 43
43
$ app ->command ('simple:lock ' , function (OutputInterface $ output , Factory $ factory ) {
44
44
$ resource = new UnsafeSharedResource ('very-important-thing ' );
45
45
46
- $ lock = $ factory ->createLock ('simple:lock ' );
46
+ $ lock = $ factory ->createLock ('simple:lock ' , 10 );
47
47
48
48
do {
49
49
$ lock ->acquire (true );
57
57
});
58
58
59
59
60
+
61
+ $ app ->command ('simple:distlockerror ' , function (OutputInterface $ output , Factory $ factory ) {
62
+ $ resource = new UnsafeSharedResource ('very-important-thing ' );
63
+
64
+ $ lock = $ factory ->createLock ('simple:lock ' , 10 );
65
+
66
+ do {
67
+ $ lock ->acquire (true );
68
+
69
+ if ((rand (0 , 1000 ) % 1000 ) === 0 ) {
70
+ throw new \Exception ('bye bye! ' );
71
+ }
72
+
73
+ try {
74
+ $ value = $ resource ->increase ();
75
+ $ output ->writeln ($ value );
76
+ } finally {
77
+ $ lock ->release ();
78
+ }
79
+ } while (true );
80
+ });
81
+
82
+
60
83
$ app ->command ('barrier ' , function (OutputInterface $ output , Factory $ factory ) {
61
84
$ processes = new UnsafeSharedResource ('processes ' );
62
85
$ barrierFlag = new UnsafeSharedResource ('barrier ' );
Original file line number Diff line number Diff line change 18
18
],
19
19
"run:simple-lock" : [
20
20
" docker-compose exec -T app pm2 delete all || true" ,
21
+ " docker-compose exec -T redis redis-cli flushall" ,
21
22
" docker-compose exec -T app php /app/cli.php resource:reset very-important-thing" ,
22
23
" docker-compose exec -T app pm2 start /app/pm2/simple-lock.yml"
23
24
],
25
+ "run:faulty-lock" : [
26
+ " docker-compose exec -T app pm2 delete all || true" ,
27
+ " docker-compose exec -T redis redis-cli flushall" ,
28
+ " docker-compose exec -T app php /app/cli.php resource:reset very-important-thing" ,
29
+ " docker-compose exec -T app pm2 start /app/pm2/simple-distlockerror.yml"
30
+ ],
24
31
"run:barrier" : [
25
32
" docker-compose exec -T app pm2 delete all || true" ,
33
+ " docker-compose exec -T redis redis-cli flushall" ,
26
34
" docker-compose exec -T app php /app/cli.php resource:reset barrier" ,
27
35
" docker-compose exec -T app php /app/cli.php resource:reset processes" ,
28
36
" docker-compose exec -T app pm2 start /app/pm2/barrier.yml"
29
37
],
30
38
"run:rw" : [
31
39
" docker-compose exec -T app pm2 delete all || true" ,
40
+ " docker-compose exec -T redis redis-cli flushall" ,
32
41
" docker-compose exec -T app php /app/cli.php resource:reset very-important-thing" ,
33
42
" docker-compose exec -T app php /app/cli.php resource:reset readers" ,
34
43
" docker-compose exec -T app pm2 start /app/pm2/read-write.yml"
You can’t perform that action at this time.
0 commit comments