def fetch_if_new(self, result, task_info):
job_id = task_info['job_id']
if result:
log.debug("Task Result already exists: %s" % job_id)
file_name = result['result_url']
self.task_storage.set_jobid_result_url(job_id, file_name)
dfd = defer.maybeDeferred(self.publish_result, file_name, task_info)
else:
dfd = defer.maybeDeferred(self.fetcher.fetch, task_info['fetch_uri'])
# get file response body
dfd.addCallbacks(self.parse_response, self.failed,
callbackArgs=(job_id,), errbackArgs=(job_id,))
# Save File
dfd.addCallbacks(self.save_file_content, self.failed,
callbackArgs=(job_id,), errbackArgs=(job_id,))
# Callback to URI
dfd.addCallbacks(self.publish_result, self.failed,
callbackArgs=(task_info,), errbackArgs=(job_id,))
评论列表
文章目录