code: def worker(self):
          
          tasks_completed = 0
          for task in iter(self.task_queue.get, 'STOP'):
              col_index, item, item2 = task
              if not hasattr(item, '__iter__') or isinstance(item, tuple):
                  item = [item]
              if not hasattr(item2, '__iter__') or isinstance(item2, tuple):
                  item2 = [item2]
              result = (col_index, self.combinfunc(item, item2))
              self.done_queue.put(result)
              tasks_completed += 1
          logger.info("Worker %s performed %s tasks",
                      current_process().name,
                      tasks_completed)
docs: Multiprocessing task function run by worker processes