# \`uploads:regenerate\_missing\_optimized\` не удается сгенерировать отсутствующие оптимизированные изображения

**URL:** https://meta.discourse.org/t/uploads-regenerate-missing-optimized-fails-to-generate-missing-optimized-images/140842
**Category:** Support
**Created:** [06.Февраль.2020 10:44:41 UTC](https://meta.discourse.org/t/uploads-regenerate-missing-optimized-fails-to-generate-missing-optimized-images/140842 "2020-02-06T10:44:41Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![md-misko](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/md-misko/32/126315_2.png) [@md-misko](https://meta.discourse.org/u/md-misko)
#### Post date: [06.Февраль.2020 10:44:41 UTC](https://meta.discourse.org/t/uploads-regenerate-missing-optimized-fails-to-generate-missing-optimized-images/140842/1 "2020-02-06T10:44:41Z")

</div>

Команда `rake uploads:missing` обнаружила 225 отсутствующих оптимизированных изображений, все они имеют имена вида `*10x10.png`

Попытка перегенерировать отсутствующие файлы с помощью `rake uploads:regenerate_missing_optimized` приводит к 225 ошибкам типа: ‘convert: improper image header’ и ‘convert: no images defined’ в логе ошибок. Версия 2.4.0.beta10 ([c5e3faac00](https://github.com/discourse/discourse/commits/c5e3faac0033ec4951db77aec1b02ad7761a19ab))

```plaintext
hostname	discourse-app
process_id	9853
application_version	6455c6ee872109fc3da9a2b45f6b7466bb96c123
location	/var/www/discourse/public/uploads/default/optimized/2X/9/97f2e2dfda850e56bf8ef65cfc7ee2c885285b4b_2_10x10.png
error_message	lib/discourse.rb:57:in `exec': convert: improper image header `/var/www/discourse/public/uploads/default/original/2X/9/97f2e2dfda850e56bf8ef65cfc7ee2c885285b4b.jpg' @ error/png.c/ReadPNGImage/4294. convert: no images defined `png:/var/www/discourse/public/uploads/default/optimized/2X/9/97f2e2dfda850e56bf8ef65cfc7ee2c885285b4b_2_10x10.png' @ error/convert.c/ConvertImageCommand/3273.
time	7:22 am

```

Трассировка стека из логов:

```plaintext
lib/discourse.rb:644:in `block in warn'
lib/discourse.rb:638:in `each'
lib/discourse.rb:638:in `warn'
/var/www/discourse/app/models/optimized_image.rb:350:in `rescue in convert_with'
/var/www/discourse/app/models/optimized_image.rb:332:in `convert_with'
/var/www/discourse/app/models/optimized_image.rb:327:in `optimize'
/var/www/discourse/app/models/optimized_image.rb:307:in `resize'
/var/www/discourse/lib/tasks/uploads.rake:467:in `block (2 levels) in regenerate_missing_optimized'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/batches.rb:70:in `block (2 levels) in find_each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/batches.rb:70:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/batches.rb:70:in `block in find_each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/batches.rb:136:in `block in find_in_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/batches.rb:238:in `block in in_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/batches.rb:222:in `loop'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/batches.rb:222:in `in_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/batches.rb:135:in `find_in_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.1/lib/active_record/relation/batches.rb:69:in `find_each'
/var/www/discourse/lib/tasks/uploads.rake:436:in `block in regenerate_missing_optimized'
/var/www/discourse/lib/tasks/uploads.rake:435:in `each'
/var/www/discourse/lib/tasks/uploads.rake:435:in `regenerate_missing_optimized'
/var/www/discourse/lib/tasks/uploads.rake:406:in `block (2 levels) in <top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.0.7/lib/rails_multisite/connection_management.rb:63:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rails_multisite-2.0.7/lib/rails_multisite/connection_management.rb:73:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:406:in `block in <top (required)>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:281:in `block in execute'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:281:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:281:in `execute'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/usr/local/lib/ruby/2.6.0/monitor.rb:235:in `mon_synchronize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/task.rb:188:in `invoke'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/application.rb:160:in `invoke_task'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/application.rb:116:in `block (2 levels) in top_level'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/application.rb:116:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/application.rb:116:in `block in top_level'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/application.rb:125:in `run_with_threads'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/application.rb:110:in `top_level'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/application.rb:83:in `block in run'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/application.rb:186:in `standard_exception_handling'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib/rake/application.rb:80:in `run'
bin/rake:13:in `<top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli/exec.rb:63:in `load'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli/exec.rb:63:in `kernel_load'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli/exec.rb:28:in `run'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli.rb:476:in `exec'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli.rb:30:in `dispatch'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/cli.rb:24:in `start'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/exe/bundle:46:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/lib/bundler/friendly_errors.rb:123:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.1/exe/bundle:34:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'

```

Вот файлы на диске (для одного из таких изображений) — обратите внимание на PNG 10x10 размером 0 КБ:

Оптимизированные (shared/standalone/uploads/default/optimized/2X/9/):

```plaintext
97f2e2dfda850e56bf8ef65cfc7ee2c885285b4b_2_690x517.jpeg 172 KB
97f2e2dfda850e56bf8ef65cfc7ee2c885285b4b_2_667x500.jpeg 163 KB
97f2e2dfda850e56bf8ef65cfc7ee2c885285b4b_2_10x10.png 0 KB

```

Оригинальные (shared/standalone/uploads/default/original/2X/9/):

```plaintext
97f2e2dfda850e56bf8ef65cfc7ee2c885285b4b.jpg 94 KB

```

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [06.Февраль.2020 10:54:15 UTC](https://meta.discourse.org/t/uploads-regenerate-missing-optimized-fails-to-generate-missing-optimized-images/140842/2 "2020-02-06T10:54:15Z")

</div>

Окей, так в чём проблема? Просто игнорируй эти некорректные изображения и продолжай.

(Или удали их из тех постов, в которых они, вероятно, находятся?)

---

<div class="post-metadata">

### Author: ![md-misko](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/md-misko/32/126315_2.png) [@md-misko](https://meta.discourse.org/u/md-misko)
#### Post date: [06.Февраль.2020 10:59:02 UTC](https://meta.discourse.org/t/uploads-regenerate-missing-optimized-fails-to-generate-missing-optimized-images/140842/3 "2020-02-06T10:59:02Z")

</div>

Эти изображения не повреждены, они корректно отображаются в публикации.

Повреждено (точнее, не сгенерировано) изображение для «быстрой прокрутки», **оптимизированное** для этой цели, которое не создаётся из оригинала.

Его отсутствие можно обнаружить при быстрой прокрутке по публикации.

Я отредактировал заголовок для большей ясности.

---

<div class="post-metadata">

### Author: ![Bathinda](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bathinda/32/135888_2.png) [@Bathinda](https://meta.discourse.org/u/Bathinda)
#### Post date: [11.Май.2021 13:11:33 UTC](https://meta.discourse.org/t/uploads-regenerate-missing-optimized-fails-to-generate-missing-optimized-images/140842/4 "2021-05-11T13:11:33Z")

</div>

Привет, @md-misko!  
Удалось ли тебе решить твою проблему?  
У меня возникли похожие трудности.

---

<div class="post-metadata">

### Author: ![md-misko](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/md-misko/32/126315_2.png) [@md-misko](https://meta.discourse.org/u/md-misko)
#### Post date: [11.Май.2021 20:31:33 UTC](https://meta.discourse.org/t/uploads-regenerate-missing-optimized-fails-to-generate-missing-optimized-images/140842/5 "2021-05-11T20:31:33Z")

</div>

> [@Bathinda](#):
>
> Удалось ли вам решить вашу проблему?

С тех пор я перешёл на S3 и больше не могу запускать `rake uploads:missing` для S3, но я проверил указанный выше файл, и сейчас он имеет размер больше нуля на S3, так что, похоже, это исправлено.

Вы используете последнюю сборку?

---

<div class="post-metadata">

### Author: ![Bathinda](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bathinda/32/135888_2.png) [@Bathinda](https://meta.discourse.org/u/Bathinda)
#### Post date: [12.Май.2021 04:17:43 UTC](https://meta.discourse.org/t/uploads-regenerate-missing-optimized-fails-to-generate-missing-optimized-images/140842/6 "2021-05-12T04:17:43Z")

</div>

> [@md-misko](#):
>
> Больше нельзя запускать `rake uploads:missing` для S3

О! Я не знал, что эта команда не предназначена для корзин S3.

> [@md-misko](#):
>
> Вы используете последнюю сборку?

Да. Я всегда обновляюсь до последней. В худшем случае я могу отставать на 2–3 дня.

В любом случае, если вам известно, какая команда лучше всего подходит для поиска отсутствующих загруженных изображений или как сопоставить URL-адреса постов с правильными изображениями в нужной корзине (если по какой-то причине пути повредились)?

---

<div class="post-metadata">

### Author: ![md-misko](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/md-misko/32/126315_2.png) [@md-misko](https://meta.discourse.org/u/md-misko)
#### Post date: [12.Май.2021 04:38:43 UTC](https://meta.discourse.org/t/uploads-regenerate-missing-optimized-fails-to-generate-missing-optimized-images/140842/7 "2021-05-12T04:38:43Z")

</div>

> [@Bathinda](#):
>
> Найти отсутствующие загруженные изображения или какая команда сопоставляет URL-адреса постов с правильными изображениями в правильном контейнере?

Это, похоже, не относится к проблеме, описанной в первом посте. Возможно, стоит открыть новую тему в #Support и точно описать вашу проблему.

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [11.Июнь.2021 04:39:03 UTC](https://meta.discourse.org/t/uploads-regenerate-missing-optimized-fails-to-generate-missing-optimized-images/140842/8 "2021-06-11T04:39:03Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
