@@ -8,26 +8,26 @@ defmodule Mongo.ChangeStreamTest do
8
8
end
9
9
10
10
def consumer_1 ( top , monitor ) do
11
- cursor = Mongo . watch_collection ( top , "users" , [ ] , fn doc -> send ( monitor , { :token , doc } ) end , max_time: 1_000 , debug: true )
11
+ cursor = Mongo . watch_collection ( top , "users" , [ ] , fn doc -> IO . puts ( "Token #{ inspect doc } " ) ; send ( monitor , { :token , doc } ) end , max_time: 1_000 , debug: true )
12
12
result = cursor |> Enum . take ( 2 ) |> Enum . at ( 0 )
13
13
send ( monitor , { :insert , result } )
14
14
end
15
15
16
16
def consumer_2 ( top , monitor , token ) do
17
- cursor = Mongo . watch_collection ( top , "users" , [ ] , fn doc -> send ( monitor , { :token , doc } ) end , resume_after: token , max_time: 1_000 )
17
+ cursor = Mongo . watch_collection ( top , "users" , [ ] , fn doc -> IO . puts ( "Token #{ inspect doc } " ) ; send ( monitor , { :token , doc } ) end , resume_after: token , max_time: 1_000 )
18
18
result = cursor |> Enum . take ( 1 ) |> Enum . at ( 0 )
19
19
send ( monitor , { :insert , result } )
20
20
end
21
21
22
22
def consumer_3 ( top , monitor , token ) do
23
- cursor = Mongo . watch_collection ( top , "users" , [ ] , fn doc -> send ( monitor , { :token , doc } ) end , resume_after: token , max_time: 1_000 )
23
+ cursor = Mongo . watch_collection ( top , "users" , [ ] , fn doc -> IO . puts ( "Token #{ inspect doc } " ) ; send ( monitor , { :token , doc } ) end , resume_after: token , max_time: 1_000 )
24
24
result = cursor |> Enum . take ( 4 ) |> Enum . map ( fn % { "fullDocument" => % { "name" => name } } -> name end )
25
25
send ( monitor , { :insert , result } )
26
26
27
27
end
28
28
29
29
def producer ( top ) do
30
- Process . sleep ( 100 )
30
+ Process . sleep ( 300 )
31
31
assert { :ok , % Mongo.InsertOneResult { } } = Mongo . insert_one ( top , "users" , % { name: "Greta" } )
32
32
assert { :ok , % Mongo.InsertOneResult { } } = Mongo . insert_one ( top , "users" , % { name: "Gustav" } )
33
33
assert { :ok , % Mongo.InsertOneResult { } } = Mongo . insert_one ( top , "users" , % { name: "Tom" } )
0 commit comments