
Б/у обрабатывающий центр 850, направляющие типа коробчатых, управление Fanuc
Fanuc · 850
Б/у
Прочее оборудованиеOE260753Год по запросуFanucКитай
Скрипт публикации также имеет ту же проблему медленной загрузки, что и программа загрузки Moments: D:\Work\machine_china>python roc_scripts\publish_wechat_english_machines.py Загружено 8931 опубликованных сигнатур изображений из базы данных. Загружено 5221 точных хэшей и 8931 перцептивных хэшей для проверки дубликатов. Суббота 11:12 Обработано за 1 мин 45 с Добавлен локальный снимок/инкрементальная загрузка, аналогичная сбору Moments, в скрипт публикации. Теперь при первом запуске он все еще извлекает из базы данных и генерирует:
| Проблема медленной загрузки | D:\Work\machine_china>python roc_scripts\publish_wechat_english_machines.py Загружено 8931 опубликованных сигнатур изображений из базы данных. Загружено 5221 точных хэшей и 8931 перцептивных хэшей для проверки дубликатов. Суббота 11:12 Обработано за 1 мин 45 с Добавлен локальный снимок/инкрементальная загрузка, аналогичная сбору Moments, в скрипт публикации. Теперь при первом запуске он извлекает из базы данных и генерирует: |
|---|---|
| Скорость загрузки скрипта публикации и механизм локального снимка | Проблема медленной загрузки: D:\Work\machine_china>python roc_scripts\publish_wechat_english_machines.py Загружено 8931 опубликованных сигнатур изображений из базы данных. Загружено 5221 точных хэшей и 8931 перцептивных хэшей для проверки дубликатов. Сб 11:12 Обработано за 1 мин 45 с Добавлен локальный снимок/инкрементальная загрузка, аналогичная сбору Moments, в скрипт публикации. Теперь при первом запуске он извлекает из базы данных и генерирует: resources/data/publish_image_signature_db_snapshot.json. При последующих запусках: если база данных не изменилась: Загружено 8931 опубликованных сигнатур изображений из локального снимка базы данных. Если в базе данных есть несколько новых/обновлений: Загружено 8950 опубликованных сигнатур изображений из локального снимка и 19 инкрементальных обновлений из базы данных. Только если снимок отсутствует. |
| Запись и проверка снимка | Записывает только текущий индекс сигнатур в памяти в локальный снимок. Проверка пройдена: py_compile, python -m unittest roc_scripts.tests.test_publish_wechat_english_machines. Отредактирован publish_wechat_english_machines.py +83 -2. Сб 11:14 Почему Moments превышает 13000? |
| Разница в области загрузки между публикацией и Moments | Этот превышает 8000? Сб 11:14 Потому что области загрузки различаются. Сбор Moments загружает глобальные сигнатуры изображений: published_machine + wechat_moment + local_audit, то есть сравниваются изображения из всех источников. |
| Предназначение областей загрузки | Поэтому вы видите более 13000. Скрипт публикации загружает только сигнатуры опубликованных станков: published_machine, поэтому более 8000. Это сделано намеренно: на этапе сбора Moments: чем раньше найдены дубликаты, тем лучше. |
| Изображения аудита и логика суждения публикации | Изображения аудита также сравниваются. На этапе публикации: определить, был ли этот станок уже опубликован. |
| Нормальная разница в количестве и сохранение дубликатов изображений в скрипте Moments | Потому что это может быть тот же станок, еще не опубликованный. Количество, которое вы видите сейчас, можно примерно понять как: глобальное удаление дубликатов Moments: около 13000+ записей; удаление дубликатов публикации: около 8000+ записей из published_machine. Эта разница нормальна. Сб 11:14 wechat_moments_semi_auto.py сохраняет удаление дубликатов изображений. |
| Изменение именования папок и обработка дублирующихся изображений | Напрямую называть папки как machine_260712_0737_01. 7:22 Обработано за 3 мин 4 с. Изменен wechat_moments_semi_auto.py. Теперь: если в той же папке найдено дублирующееся изображение: удалить текущее изображение. |
| Различная обработка дубликатов по типу папок | Продолжить сохранение следующего. Если дубликат с исторической папкой: все равно остановить текущий момент. |
| Цель именования папок и обработки существования | Избежать полного дублирования данных. Именование папок изменено на: machine_260712_0737_01. Если каталог уже существует. |
| Избежать перезаписи старых данных и тестовый запуск | Избежать перезаписи старых данных. Пройдена проверка синтаксиса и проверка именования каталогов. Отредактирован wechat_moments_semi_auto.py +26 -3. 7:25 D:\Work\machine_china>python roc_scripts\wechat\wechat_moments_semi_auto.py --phone Обнаружена историческая конфигурация. |
| Запрос на повторное использование конфигурации | По умолчанию y): y Включить пошаговый режим подтверждения для этого запуска? (y/n |
| Запрос режима подтверждения (продолжение) | По умолчанию использовать существующую конфигурацию): n Включить отладочный журнал для этого запуска? (y/n |
| Запрос отладочного журнала и начало трассировки ошибки | По умолчанию использовать существующую конфигурацию): n Загружено 14450 сигнатур изображений из локального снимка базы данных для глобальных проверок дубликатов. Traceback (most recent call last): File "D:\Work\machine_china\roc_scripts\wechat\wechat_moments_semi_auto.py" |
| Номер строки ошибки 758 | line 758 |
| Кадр ошибки | Main() Call: in <module> main() File "D:\Work\machine_china\roc_scripts\wechat\wechat_moments_semi_auto.py" |
| Номер строки ошибки 689 | line 689 |
| Кадр ошибки | Signature_cache.refresh(): in main cache_stats = signature_cache.refresh() File "D:\Work\machine_china\roc_scripts\wechat\wechat_moments_semi_auto.py" |
| Номер строки ошибки 269 | line 269 |
| Кадр ошибки | _sync_path_to_database: signature) File "D:\Work\machine_china\roc_scripts\wechat\wechat_moments_semi_auto.py" |
| Номер строки ошибки 242 | line 242 |
| Кадр ошибки | Upsert_image_signature Call: in _sync_path_to_database upsert_image_signature( File "D:\Work\machine_china\roc_scripts\image_signature_store.py" |
| Номер строки ошибки 90 | line 90 |
| Кадр ошибки | Update_or_create Call: in upsert_image_signature DbImageSignature.objects.update_or_create( File "C:\Users\Administrator\AppData\Roaming\Python\Python 310\site-packages\django\db\models\manager.py" |
| Номер строки ошибки 87 | line 87 |
| Кадр ошибки | Kwargs Argument: x x kwargs) File "C:\Users\Administrator\AppData\Roaming\Python\Python 310\site-packages\django\db\models\query.py" |
| Номер строки ошибки 946 | line 946 |
| Кадр ошибки | Transaction.atomic: in update_or_create with transaction.atomic(using=self.db): File "C:\Users\Administrator\AppData\Roaming\Python\Python 310\site-packages\django\db\transaction.py" |
| Номер строки ошибки 216 | line 216 |
| Кадр ошибки | Set_autocommit: in enter connection.set_autocommit( File "C:\Users\Administrator\AppData\Roaming\Python\Python 310\site-packages\django\db\backends\base\base.py" |
| Номер строки ошибки 497 | line 497 |
| Кадр ошибки | _set_autocommit: in set_autocommit self._set_autocommit(autocommit) File "C:\Users\Administrator\AppData\Roaming\Python\Python 310\site-packages\django\db\backends\mysql\base.py" |
| Номер строки ошибки 289 | line 289 |
| Кадр ошибки | Connection.autocommit: in _set_autocommit self.connection.autocommit(autocommit) File "C:\Users\Administrator\AppData\Roaming\Python\Python 310\site-packages\pymysql\connections.py" |
| Номер строки ошибки 447 | line 447 |
| Кадр ошибки | _send_autocommit_mode: in autocommit self._send_autocommit_mode() File "C:\Users\Administrator\AppData\Roaming\Python\Python 310\site-packages\pymysql\connections.py" |
| Номер строки ошибки 468 | line 468 |
| Кадр ошибки | _read_ok_packet: in _send_autocommit_mode self._read_ok_packet() File "C:\Users\Administrator\AppData\Roaming\Python\Python 310\site-packages\pymysql\connections.py" |
| Номер строки ошибки 453 | line 453 |
| Кадр ошибки | _read_packet: in _read_ok_packet pkt = self._read_packet() File "C:\Users\Administrator\AppData\Roaming\Python\Python 310\site-packages\pymysql\connections.py" |
| Номер строки ошибки 744 | line 744 |
| Кадр ошибки | _read_bytes: in _read_packet packet_header = self._read_bytes(4) File "C:\Users\Administrator\AppData\Roaming\Python\Python 310\site-packages\pymysql\connections.py" |
| Номер строки ошибки 782 | line 782 |
| Кадр ошибки | Socket Read: in _read_bytes data = self._rfile.read(num_bytes) File "C:\Program Files\Python 310\lib\socket.py" |
| Номер строки ошибки 705 | line 705 |
| Keyboardinterrupt И ошибка команды | in readinto return self._sock.recv_into(b) KeyboardInterrupt ^C D:\Work\machine_china>7 '7' не является внутренней или внешней командой |
| Сообщение об ошибке и последующий запуск | ни исполняемой программой, ни пакетным файлом. D:\Work\machine_china> D:\Work\machine_china> D:\Work\machine_china>python roc_scripts\wechat\wechat_moments_semi_auto.py --phone Обнаружена историческая конфигурация. |
| Вывод запуска с инкрементальными обновлениями | По умолчанию использовать существующую конфигурацию): n Загружено 14679 сигнатур изображений из локального снимка и 229 инкрементальных обновлений из базы данных. Загрузка Moments WeChat |
| Медленное время загрузки | превышена 1 минута |
| Завершение оптимизации и коренная причина | Как сделать это быстрее? Показать больше 7:47 Обработано за 3 мин 23 с Оптимизация завершена. Коренная причина медлительности действительно в ошибке слияния кэша |
| Детали оптимизации | Обработка кэша и отпечатков: не просто из-за 14 тыс. записей данных. Ранее при запуске: серверный снимок перезаписывал локальный кэш для текущего номера телефона. Пересчет существующих отпечатков изображений. Запись каждого изображения по отдельности в серверную базу данных. JSON каждого номера телефона также многократно сохранял все серверные отпечатки. Теперь изменено: кэш номера телефона сохраняет только состояние локальных файлов для этого номера. Глобальные серверные отпечатки хранят только один снимок. Изображения, уже находящиеся в базе данных, напрямую используют отпечатки |
| Пакетная запись и автоматическая очистка | не загружают повторно. Действительно отсутствующие отпечатки записываются в базу данных один раз пакетно. Старый кэш будет автоматически очищен после этого запуска. 229 инкрементальных обновлений, которые вы видели. |
| Значение инкрементальных обновлений | это 229 изображений, уже записанных по одному в базу данных до первого прерывания. |
| Команда для продолжения и ожидаемое поведение | Не аномалия данных. Продолжить с использованием исходной команды: python roc_scripts\wechat\wechat_moments_semi_auto.py --phone На этот раз она должна распознать существующие 229 изображений как повторно используемые. |
| Тест пройден и сводка изменений файлов | Не будет загружать индивидуально снова. Проверка синтаксиса и 7 связанных тестов пройдены. Отредактировано 2 файла +132 -38: roc_scripts/image_signature_store.py +56 -0; roc_scripts/wechat/wechat_moments_semi_auto.py +76 -38. 7:51 Изменения информации о среде +573 -1 |
| Статус Git и исходные файлы | 767 локальный мастер commit или push GitHub CLI не аутентифицирован Исходные файлы wechat_moments_semi_auto.py publish_wechat_english_machines.py Просмотреть все |
Похожие станки

Fanuc · 850
Б/у

Mori Seiki · 850
Б/у, доступен для осмотра.

Fanuc
Б/у станок, доступен для осмотра.