set_status( $is_reoptimize ? Image_Status::REOPTIMIZING_IN_PROGRESS : Image_Status::OPTIMIZATION_IN_PROGRESS ) ->save(); Async_Operation::create( $is_reoptimize ? Async_Operation_Hook::REOPTIMIZE_SINGLE : Async_Operation_Hook::OPTIMIZE_SINGLE, [ 'attachment_id' => $image_id ], Async_Operation_Queue::OPTIMIZE ); } catch ( Throwable $t ) { $meta ->set_status( $is_reoptimize ? Image_Status::REOPTIMIZING_FAILED : Image_Status::OPTIMIZATION_FAILED ) ->save(); throw $t; } } }