def parallel_execute(self, cell, block=None, groupby='<STR_LIT:type>', save_name=None):
<EOL>block = self.view.block if block is None else block<EOL>base = "<STR_LIT>" if block else "<STR_LIT>"<EOL>targets = self.view.targets<EOL>if isinstance(targets, list) and len(targets) > <NUM_LIT:10>:<EOL><INDENT>str_targets = str(targets[:<NUM_LIT:4>])[:-<NUM_LIT:1>] + '<STR_LIT>' + str(targets[-<NUM_LIT:4>:])[<NUM_LIT:1>:]<EOL><DEDENT>else:<EOL><INDENT>str_targets = str(targets)<EOL><DEDENT>if self.verbose:<EOL><INDENT>print(base + "<STR_LIT>" % str_targets)<EOL><DEDENT>result = self.view.execute(cell, silent=False, block=False)<EOL>self.last_result = result<EOL>if save_name:<EOL><INDENT>self.shell.user_ns[save_name] = result<EOL><DEDENT>if block:<EOL><INDENT>result.get()<EOL>result.display_outputs(groupby)<EOL><DEDENT>else:<EOL><INDENT>return result<EOL><DEDENT>
implementation used by %px and %%parallel