@@ -273,14 +273,9 @@ async fn migrate_users(
273
273
let mut user_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_users) ;
274
274
let mut password_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_passwords) ;
275
275
276
- let mut i = 0 ;
277
276
while let Ok ( user) = rx. recv_async ( ) . await {
278
- // Force yielding to the scheduler every once in a while, else we'll have long
279
- // tick times
280
- i += 1 ;
281
- if i % 128 == 0 {
282
- tokio:: task:: yield_now ( ) . await ;
283
- }
277
+ // Consume some coop budget to give it a chance to yield
278
+ tokio:: task:: coop:: consume_budget ( ) . await ;
284
279
285
280
// Handling an edge case: some AS users may have invalid localparts containing
286
281
// extra `:` characters. These users are ignored and a warning is logged.
@@ -622,14 +617,9 @@ async fn migrate_devices(
622
617
async move {
623
618
let mut write_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_compat_sessions) ;
624
619
625
- let mut i = 0 ;
626
620
while let Ok ( device) = rx. recv_async ( ) . await {
627
- // Force yielding to the scheduler every once in a while, else we'll have long
628
- // tick times
629
- i += 1 ;
630
- if i % 128 == 0 {
631
- tokio:: task:: yield_now ( ) . await ;
632
- }
621
+ // Consume some coop budget to give it a chance to yield
622
+ tokio:: task:: coop:: consume_budget ( ) . await ;
633
623
634
624
let SynapseDevice {
635
625
user_id : synapse_user_id,
@@ -783,14 +773,9 @@ async fn migrate_unrefreshable_access_tokens(
783
773
let mut deviceless_session_write_buffer =
784
774
MasWriteBuffer :: new ( & mas, MasWriter :: write_compat_sessions) ;
785
775
786
- let mut i = 0 ;
787
776
while let Ok ( token) = rx. recv_async ( ) . await {
788
- // Force yielding to the scheduler every once in a while, else we'll have long
789
- // tick times
790
- i += 1 ;
791
- if i % 128 == 0 {
792
- tokio:: task:: yield_now ( ) . await ;
793
- }
777
+ // Consume some coop budget to give it a chance to yield
778
+ tokio:: task:: coop:: consume_budget ( ) . await ;
794
779
795
780
let SynapseAccessToken {
796
781
user_id : synapse_user_id,
0 commit comments