@@ -16,28 +16,18 @@ pub fn update_downloads(env: &Environment) -> Result<(), PerformError> {
16
16
17
17
fn update ( conn : & PgConnection ) -> QueryResult < ( ) > {
18
18
use self :: version_downloads:: dsl:: * ;
19
- use diesel:: dsl:: now;
19
+ use diesel:: dsl:: { now, IntervalDsl } ;
20
20
use diesel:: select;
21
21
22
22
let rows = version_downloads
23
- . filter ( processed. eq ( false ) )
24
23
. filter ( downloads. ne ( counted) )
24
+ . filter ( date. ge ( diesel:: dsl:: date ( now - 1 . week ( ) ) ) )
25
25
. load ( conn) ?;
26
26
27
27
println ! ( "Updating {} versions" , rows. len( ) ) ;
28
28
collect ( conn, & rows) ?;
29
29
println ! ( "Finished updating versions" ) ;
30
30
31
- // Anything older than 24 hours ago will be frozen and will not be queried
32
- // against again.
33
- diesel:: update ( version_downloads)
34
- . set ( processed. eq ( true ) )
35
- . filter ( date. lt ( diesel:: dsl:: date ( now) ) )
36
- . filter ( downloads. eq ( counted) )
37
- . filter ( processed. eq ( false ) )
38
- . execute ( conn) ?;
39
- println ! ( "Finished freezing old version_downloads" ) ;
40
-
41
31
no_arg_sql_function ! ( refresh_recent_crate_downloads, ( ) ) ;
42
32
select ( refresh_recent_crate_downloads) . execute ( conn) ?;
43
33
println ! ( "Finished running refresh_recent_crate_downloads" ) ;
@@ -138,8 +128,7 @@ mod test {
138
128
insert_into ( version_downloads:: table)
139
129
. values ( (
140
130
version_downloads:: version_id. eq ( version. id ) ,
141
- version_downloads:: date. eq ( date ( now - 1 . day ( ) ) ) ,
142
- version_downloads:: processed. eq ( true ) ,
131
+ version_downloads:: date. eq ( date ( now - 8 . days ( ) ) ) ,
143
132
) )
144
133
. execute ( & conn)
145
134
. unwrap ( ) ;
@@ -163,55 +152,6 @@ mod test {
163
152
assert_eq ! ( Ok ( 1 ) , version_downloads) ;
164
153
}
165
154
166
- #[ test]
167
- fn set_processed_true ( ) {
168
- use diesel:: dsl:: * ;
169
-
170
- let conn = conn ( ) ;
171
- let user = user ( & conn) ;
172
- let ( _, version) = crate_and_version ( & conn, user. id ) ;
173
- insert_into ( version_downloads:: table)
174
- . values ( (
175
- version_downloads:: version_id. eq ( version. id ) ,
176
- version_downloads:: downloads. eq ( 2 ) ,
177
- version_downloads:: counted. eq ( 2 ) ,
178
- version_downloads:: date. eq ( date ( now - 2 . days ( ) ) ) ,
179
- version_downloads:: processed. eq ( false ) ,
180
- ) )
181
- . execute ( & conn)
182
- . unwrap ( ) ;
183
- super :: update ( & conn) . unwrap ( ) ;
184
- let processed = version_downloads:: table
185
- . filter ( version_downloads:: version_id. eq ( version. id ) )
186
- . select ( version_downloads:: processed)
187
- . first ( & conn) ;
188
- assert_eq ! ( Ok ( true ) , processed) ;
189
- }
190
-
191
- #[ test]
192
- fn dont_process_recent_row ( ) {
193
- use diesel:: dsl:: * ;
194
- let conn = conn ( ) ;
195
- let user = user ( & conn) ;
196
- let ( _, version) = crate_and_version ( & conn, user. id ) ;
197
- insert_into ( version_downloads:: table)
198
- . values ( (
199
- version_downloads:: version_id. eq ( version. id ) ,
200
- version_downloads:: downloads. eq ( 2 ) ,
201
- version_downloads:: counted. eq ( 2 ) ,
202
- version_downloads:: date. eq ( date ( now) ) ,
203
- version_downloads:: processed. eq ( false ) ,
204
- ) )
205
- . execute ( & conn)
206
- . unwrap ( ) ;
207
- super :: update ( & conn) . unwrap ( ) ;
208
- let processed = version_downloads:: table
209
- . filter ( version_downloads:: version_id. eq ( version. id ) )
210
- . select ( version_downloads:: processed)
211
- . first ( & conn) ;
212
- assert_eq ! ( Ok ( false ) , processed) ;
213
- }
214
-
215
155
#[ test]
216
156
fn increment_a_little ( ) {
217
157
use diesel:: dsl:: * ;
@@ -234,7 +174,6 @@ mod test {
234
174
version_downloads:: downloads. eq ( 2 ) ,
235
175
version_downloads:: counted. eq ( 1 ) ,
236
176
version_downloads:: date. eq ( date ( now) ) ,
237
- version_downloads:: processed. eq ( false ) ,
238
177
) )
239
178
. execute ( & conn)
240
179
. unwrap ( ) ;
@@ -274,42 +213,4 @@ mod test {
274
213
. unwrap ( ) ;
275
214
assert_eq ! ( version3. downloads, 2 ) ;
276
215
}
277
-
278
- #[ test]
279
- fn set_processed_no_set_updated_at ( ) {
280
- use diesel:: dsl:: * ;
281
- use diesel:: update;
282
-
283
- let conn = conn ( ) ;
284
- let user = user ( & conn) ;
285
- let ( _, version) = crate_and_version ( & conn, user. id ) ;
286
- update ( versions:: table)
287
- . set ( versions:: updated_at. eq ( now - 2 . days ( ) ) )
288
- . execute ( & conn)
289
- . unwrap ( ) ;
290
- update ( crates:: table)
291
- . set ( crates:: updated_at. eq ( now - 2 . days ( ) ) )
292
- . execute ( & conn)
293
- . unwrap ( ) ;
294
- insert_into ( version_downloads:: table)
295
- . values ( (
296
- version_downloads:: version_id. eq ( version. id ) ,
297
- version_downloads:: downloads. eq ( 2 ) ,
298
- version_downloads:: counted. eq ( 2 ) ,
299
- version_downloads:: date. eq ( date ( now - 2 . days ( ) ) ) ,
300
- version_downloads:: processed. eq ( false ) ,
301
- ) )
302
- . execute ( & conn)
303
- . unwrap ( ) ;
304
-
305
- super :: update ( & conn) . unwrap ( ) ;
306
- let versions_changed = versions:: table
307
- . select ( versions:: updated_at. ne ( now - 2 . days ( ) ) )
308
- . get_result ( & conn) ;
309
- let crates_changed = crates:: table
310
- . select ( crates:: updated_at. ne ( now - 2 . days ( ) ) )
311
- . get_result ( & conn) ;
312
- assert_eq ! ( Ok ( false ) , versions_changed) ;
313
- assert_eq ! ( Ok ( false ) , crates_changed) ;
314
- }
315
216
}
0 commit comments