monast.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:monast 作者: dagmoller 项目源码 文件源码
def _onTaskDone(self, taskdone, taskid):
        self._runningTasks -= 1
        ## Remove Call
        calltm = self._calls.get(taskid)
        if calltm:
            del self._calls[taskid]
            calltm.cancel()
        ## Call next task if exists
        if self._runningTasks < self._maxConcurrentTasks and self._queuedTasks:
            self._runningTasks         += 1
            task, args, kwargs, queuedf = self._queuedTasks.pop(0)
            taskid                      = self._getTaskId()
            taskdf                      = task(*args, **kwargs).addBoth(self._onTaskDone, taskid)
            taskdf.chainDeferred(queuedf)
            calltm                      = reactor.callLater(5, self._fireTimeout, taskid, taskdf)
            self._calls[taskid]         = calltm
        ## Raize Feilure
        if isinstance(taskdone, failure.Failure):
            taskdone.trap()
        return taskdone
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号