def run(self, *args, **kwargs):
<EOL>exitstatus = None  <EOL>if setproctitle and self.new_title:<EOL><INDENT>setproctitle.setproctitle("<STR_LIT>".format(self.name))<EOL><DEDENT>print('<STR_LIT>'.format(proc=self.name, pid=self.ident))<EOL>with self.context_manager(*args, **kwargs) as cm:<EOL><INDENT>if cm:<EOL><INDENT>cmargs = maybe_tuple(cm)<EOL>args = cmargs + args<EOL><DEDENT>exitstatus = self.eventloop(*args, **kwargs)<EOL>logging.debug("<STR_LIT>".format(**locals()))<EOL>return exitstatus<EOL><DEDENT>
The Node main method, running in a child process (similar to Process.run() but also accepts args)
A children class can override this method, but it needs to call super().run(*args, **kwargs)
for the node to start properly and call update() as expected.
:param args: arguments to pass to update()
:param kwargs: keyword arguments to pass to update()
:return: last exitcode returned by update()