Базовый процесс Объяснение:
Процесс имеет некоторые параметры инициализации, которые должны быть установлены динамически во время выполнения. Например, данные для определенного количества дат (final_lookback) должны быть извлечены из SQL. Количество дат основано на параметре конфигурации (base_lookback) + сумма, которая вытягивается из другой таблицы. Поэтому Final_lookback известен только после начала процесса. Необходимо сохранить параметры динамической конфигурации, чтобы сравнить в следующий раз, когда процесс запускается. Поэтому также важно, чтобы вычисленные параметры не были случайно изменены позже в коде, тем самым изменяя логику процесса работы. Процесс имеет несколько параметров динамической конфигурации - final_lookback является примером одного. Дополнительным осложнением является то, что процесс является резьбовым, и некоторые из динамических параметров являются общими для всех потоков, а другие специфичны для потока и устанавливаются при запуске потока.
Этот вопрос имеет две части: < /p>
Чтобы управлять всеми динамически вычисленными входными параметрами, чтобы весь процесс имел доступ к тем же параметрам и убедиться, что они не могут быть изменены позже в процессе, который мы создали класс /объект Singleton Чтобы удерживать все динамически измененные параметры времени выполнения. В основном список значений ключей, аналогичный тому, как ConfigParser содержит данные. С возможностью блокировать его после установки всех параметров. Кроме того, чтобы управлять конкретными параметрами, которые мы рассмотрели, мы рассмотрели создание словаря словарей, причем каждый поток имеет свою собственную версию словаря параметров времени выполнения. Итак, вопрос 1 есть ли лучший способ управления параметрами динамически установки параметров конфигурации для типа процесса, описанного выше? Чтобы сохранить динамически измененную переменную с функцией обертки, чтобы заблокировать ее. Однако это должно быть передано в потоки и, что более важно, в нашем сценарии у нас есть несколько переменных. Что поднимает идеи использования контекста для сохранения изменяемого объекта (словаря или класса). Похоже, что контекст -авары могут иметь измененный объект, но неясно, как именно его реализовать. Должны ли класс параметров времени выполнения быть установленным один раз в качестве синглтона для запуска, а контекстные атмосферы быть включены в класс? С контекстами удержание словаря ключевых значений? Или создать контекстварс отдельно и иметь доступ к классу выполнения - что означало бы, что каждый файл потребуется два импорта один для контекста. и один для класса? Итак, второй вопрос: была опробована идея использования ContextVars для сохранения изменяемого контейнера? Будет ли это действительным решением для описанного процесса, и будет ли передача в потоки работать так, чтобы каждый поток мог обновлять переменные контекста, в которых он нуждается, не влияя на другие потоки?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ontextvars
Установка потока безопасного словаря со временем выполнения с использованием контекста. ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Установка потока безопасного словаря со временем выполнения с использованием контекста.
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ошибка чтения входного потока при чтении потока WinSCP Session.GetFile из другого потока
Anonymous » » в форуме C# - 0 Ответы
- 69 Просмотры
-
Последнее сообщение Anonymous
-