Совместное использование COM-объекта в нескольких процессах в PythonPython

Программы на Python
Ответить
Anonymous
 Совместное использование COM-объекта в нескольких процессах в Python

Сообщение Anonymous »

У меня есть случай использования, когда мне нужно выполнить некоторые операции с файлом Excel на Python. Параллельно будут работать 2 процесса. Файл main.py откроет лист Excel и запустит 3 процесса.
  • Первый процесс — выполняет некоторые вычисления на основе данных из E\xcel.
  • Второй процесс — непрерывно записывает данные в Excel с фиксированной частотой, например, каждые 1 минуту.
Теперь мое требование — когда я запускаю процессы, мне нужно поделиться объектом Excel между процессами.
Я сослался на несколько примеров в Интернете и написал следующий код:

Код: Выделить всё

from multiprocessing import Process

def fun(name):
print(f'hello {name}')

def main():
excelObj =  OpenExcelApp()  # def which opens the excel application and returns the excel object

input_process = Process(target=self.input_data, args=[excelObj])  #input_data def fetches data from db and writes it into the excel file

triggerCalc_process = Process(target= self.trigger_calc, args=[excelObj]) #triggers for calculation

input_process.start()
triggerCalc_process.start()

if __name__ == '__main__':
main()
Что я здесь упускаю или делаю неправильно?

Подробнее здесь: https://stackoverflow.com/questions/715 ... -in-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»