26
26
27
27
import time
28
28
29
- from FileStorage import FileCacher
30
29
from AsyncLibrary import Service , rpc_callback , logger
31
30
from Utils import ServiceCoord
32
31
@@ -47,24 +46,16 @@ def __init__(self, shard):
47
46
self .ServiceB .append (self .connect_to (
48
47
ServiceCoord ("ServiceB" , 1 )))
49
48
50
- self .add_timeout (self .ask_for_echo , None , 10 ,
51
- immediately = True )
52
- self .add_timeout (self .ask_for_file , None , 2 ,
53
- immediately = True )
54
-
55
- self .FS = self .connect_to (
56
- ServiceCoord ("FileStorage" , 0 ))
57
- self .add_timeout (self .test_file_storage , None , 2 ,
49
+ self .add_timeout (self .ask_for_echo , None , 4 ,
58
50
immediately = True )
59
-
60
- self .FC = FileCacher (self , self .FS )
61
- self .digest = None
62
- self .add_timeout (self .test_file_cacher , None , 5 )
51
+ self .t = 5
63
52
64
53
def ask_for_echo (self ):
65
54
"""Ask all ServiceB for a echo.
66
55
67
56
"""
57
+ self .t -= 1
58
+ if self .t <= 0 : return
68
59
logger .debug ("ServiceA.ask_for_echo" )
69
60
for i in xrange (0 , 2 ):
70
61
remote_service = self .ServiceB [i ]
@@ -126,87 +117,6 @@ def file_callback(self, data, plus, error=None):
126
117
self .ServiceB [0 ].binary_write (filename = "ccc" ,
127
118
binary_data = bbb .read ())
128
119
129
- def test_file_storage (self ):
130
- """Ask FS for file aaa.
131
-
132
- """
133
- logger .debug ("ServiceA.test_file_storage" )
134
- if not self .FS .connected :
135
- logger .info ("Not putting aaa in FileStorage because not connected!" )
136
- return True
137
- logger .info ("Putting aaa into FileStorage." )
138
- with open ("aaa" , "rb" ) as aaa :
139
- data = aaa .read ()
140
- self .FS .put_file (binary_data = data ,
141
- callback = ServiceA .test_file_storage_callback ,
142
- plus = (len (data ), time .time ()))
143
- return False
144
-
145
- @rpc_callback
146
- def test_file_storage_callback (self , data , plus , error = None ):
147
- """Callback for test_file_storage. It get the file again.
148
-
149
- """
150
- logger .debug ("ServiceA.test_file_storage_callback" )
151
- if error != None :
152
- logger .error (error )
153
- return
154
- seconds = time .time () - plus [1 ]
155
- megabytes = plus [0 ] / 1024.0 / 1024.0
156
- logger .info (("FileStorage stored aaa. Digest: %s\m %5.3lf MB in " + \
157
- "%5.3lf seconds (%5.3lf MB/s)" )
158
- % (data , megabytes , seconds , megabytes / seconds ))
159
- self .digest = data
160
-
161
- # Now getting back the file
162
- logger .info ("Getting back aaa from FileStorage." )
163
- self .FS .get_file (digest = data ,
164
- callback = ServiceA .test_file_storage_callback_2 ,
165
- plus = time .time ())
166
-
167
- @rpc_callback
168
- def test_file_storage_callback_2 (self , data , plus , error = None ):
169
- """Callback for test_file_storage. It writes the file to bbb.
170
-
171
- """
172
- logger .debug ("ServiceA.test_file_storage_callback_2" )
173
- if error != None :
174
- logger .error (error )
175
- return
176
- seconds = time .time () - plus
177
- megabytes = len (data ) / 1024.0 / 1024.0
178
- logger .info (("Got aaa from FileStorage: %5.3lf MB in %5.3lf " + \
179
- "seconds (%5.3lf MB/s)" )
180
- % (megabytes , seconds , megabytes / seconds ))
181
-
182
- with open ("ddd" , "wb" ) as ddd :
183
- ddd .write (data )
184
-
185
- def test_file_cacher (self ):
186
- """Ask FC for file aaa.
187
-
188
- """
189
- logger .debug ("ServiceA.test_file_cacher" )
190
- if self .digest == None :
191
- logger .info ("Not testing FC because not ready." )
192
- return True
193
- logger .info ("Asking FC to get file aaa and move it to eee." )
194
- self .FC .get_file (self .digest , filename = "eee" ,
195
- callback = self .test_file_cacher_callback ,
196
- plus = "Plus object." )
197
- return False
198
-
199
- def test_file_cacher_callback (self , data , plus , error = None ):
200
- """Getting the file and writing it to fff.
201
-
202
- """
203
- logger .debug ("ServiceA.test_file_cacher_callback" )
204
- if error != None :
205
- logger .error (error )
206
- return
207
- with open ("fff" , "wb" ) as fff :
208
- fff .write (data )
209
-
210
120
211
121
if __name__ == "__main__" :
212
122
import sys
0 commit comments