7
7
8
8
/**
9
9
* Task Manager for Image Sideloading
10
- *
10
+ *
11
11
* Manages a queue of ImageSideloadTask objects and processes them in FIFO order.
12
12
*/
13
13
class ImageSideloadTaskManager {
@@ -34,7 +34,7 @@ class ImageSideloadTaskManager {
34
34
*/
35
35
public static function add_to_queue ( ImageSideloadTask $ task ) {
36
36
$ queue = self ::get_queue ();
37
-
37
+
38
38
// Check if task already exists
39
39
$ task_id = $ task ->get_id ();
40
40
foreach ( $ queue as $ existing_task ) {
@@ -45,11 +45,11 @@ public static function add_to_queue( ImageSideloadTask $task ) {
45
45
46
46
// Add task to queue (FIFO - add to end)
47
47
$ queue [] = array (
48
- 'id ' => $ task_id ,
49
- 'post_id ' => $ task ->get_post_id (),
50
- 'urls ' => $ task ->get_image_urls (),
51
- 'status ' => 'pending ' ,
52
- 'created ' => time (),
48
+ 'id ' => $ task_id ,
49
+ 'post_id ' => $ task ->get_post_id (),
50
+ 'urls ' => $ task ->get_image_urls (),
51
+ 'status ' => 'pending ' ,
52
+ 'created ' => time (),
53
53
);
54
54
55
55
self ::set_queue ( $ queue );
@@ -105,45 +105,45 @@ public static function set_status( $status ) {
105
105
*/
106
106
public static function process_next_task () {
107
107
$ queue = self ::get_queue ();
108
-
108
+
109
109
if ( empty ( $ queue ) ) {
110
110
self ::set_status ( 'idle ' );
111
111
return false ;
112
112
}
113
113
114
114
// Get the next task
115
115
$ task_data = array_shift ( $ queue );
116
-
116
+
117
117
// Mark as processing
118
- $ task_data ['status ' ] = 'processing ' ;
118
+ $ task_data ['status ' ] = 'processing ' ;
119
119
$ task_data ['started ' ] = time ();
120
-
120
+
121
121
// Create task object and execute
122
- $ task = new ImageSideloadTask ( $ task_data ['post_id ' ], $ task_data ['urls ' ] );
122
+ $ task = new ImageSideloadTask ( $ task_data ['post_id ' ], $ task_data ['urls ' ] );
123
123
$ result = $ task ->execute ();
124
124
125
125
if ( is_wp_error ( $ result ) ) {
126
126
// Mark as failed
127
- $ task_data ['status ' ] = 'failed ' ;
128
- $ task_data ['error ' ] = $ result ->get_error_message ();
127
+ $ task_data ['status ' ] = 'failed ' ;
128
+ $ task_data ['error ' ] = $ result ->get_error_message ();
129
129
$ task_data ['completed ' ] = time ();
130
-
130
+
131
131
// Add back to queue for retry
132
132
$ queue [] = $ task_data ;
133
-
133
+
134
134
self ::set_queue ( $ queue );
135
135
self ::set_status ( 'processing ' );
136
-
136
+
137
137
return $ result ;
138
138
}
139
139
140
140
// Mark as completed
141
- $ task_data ['status ' ] = 'completed ' ;
141
+ $ task_data ['status ' ] = 'completed ' ;
142
142
$ task_data ['completed ' ] = time ();
143
-
143
+
144
144
self ::set_queue ( $ queue );
145
145
self ::set_status ( 'processing ' );
146
-
146
+
147
147
return true ;
148
148
}
149
149
@@ -154,31 +154,31 @@ public static function process_next_task() {
154
154
* @return array Array with 'processed' and 'remaining' counts
155
155
*/
156
156
public static function process_queue ( $ max_tasks = 5 ) {
157
- $ processed = 0 ;
158
- $ queue = self ::get_queue ();
157
+ $ processed = 0 ;
158
+ $ queue = self ::get_queue ();
159
159
$ initial_count = count ( $ queue );
160
160
161
161
self ::set_status ( 'processing ' );
162
162
163
163
while ( $ processed < $ max_tasks && ! empty ( $ queue ) ) {
164
164
$ result = self ::process_next_task ();
165
-
166
- if ( $ result === false ) {
165
+
166
+ if ( false ===$ result ) {
167
167
break ; // Queue is empty
168
168
}
169
-
169
+
170
170
if ( is_wp_error ( $ result ) ) {
171
171
// Continue processing other tasks even if one fails
172
172
$ processed ++;
173
173
continue ;
174
174
}
175
-
175
+
176
176
$ processed ++;
177
177
}
178
178
179
179
$ remaining = count ( self ::get_queue () );
180
-
181
- if ( $ remaining === 0 ) {
180
+
181
+ if ( 0 === $ remaining ) {
182
182
self ::set_status ( 'idle ' );
183
183
}
184
184
0 commit comments