equal
deleted
inserted
replaced
880 def call_service(self, sessionid, regid, async, **kwargs): |
880 def call_service(self, sessionid, regid, async, **kwargs): |
881 """ |
881 """ |
882 See :class:`cubicweb.dbapi.Connection.call_service` |
882 See :class:`cubicweb.dbapi.Connection.call_service` |
883 and :class:`cubicweb.server.Service` |
883 and :class:`cubicweb.server.Service` |
884 """ |
884 """ |
|
885 session = self._get_session(sessionid) |
885 def task(): |
886 def task(): |
886 session = self._get_session(sessionid, setcnxset=True) |
887 session.set_cnxset() |
887 service = session.vreg['services'].select(regid, session, **kwargs) |
|
888 try: |
888 try: |
|
889 service = session.vreg['services'].select(regid, session, **kwargs) |
889 return service.call(**kwargs) |
890 return service.call(**kwargs) |
890 finally: |
891 finally: |
891 session.rollback() # free cnxset |
892 session.rollback() # free cnxset |
892 if async: |
893 if async: |
893 self.info('calling service %s asynchronously', regid) |
894 self.info('calling service %s asynchronously', regid) |