arvados.crunch

 1# Copyright (C) The Arvados Authors. All rights reserved.
 2#
 3# SPDX-License-Identifier: Apache-2.0
 4
 5import json
 6import os
 7
 8from . import util
 9
10class TaskOutputDir(object):
11    """Keep-backed directory for staging outputs of Crunch tasks.
12
13    Example, in a crunch task whose output is a file called "out.txt"
14    containing "42":
15
16        import arvados
17        import arvados.crunch
18        import os
19
20        out = arvados.crunch.TaskOutputDir()
21        with open(os.path.join(out.path, 'out.txt'), 'w') as f:
22            f.write('42')
23        arvados.current_task().set_output(out.manifest_text())
24    """
25    @util._deprecated('3.0', 'arvados-cwl-runner or the containers API')
26    def __init__(self):
27        self.path = os.environ['TASK_KEEPMOUNT_TMP']
28
29    def __str__(self):
30        return self.path
31
32    def manifest_text(self):
33        snapshot = os.path.join(self.path, '.arvados#collection')
34        return json.load(open(snapshot))['manifest_text']
class TaskOutputDir:
11class TaskOutputDir(object):
12    """Keep-backed directory for staging outputs of Crunch tasks.
13
14    Example, in a crunch task whose output is a file called "out.txt"
15    containing "42":
16
17        import arvados
18        import arvados.crunch
19        import os
20
21        out = arvados.crunch.TaskOutputDir()
22        with open(os.path.join(out.path, 'out.txt'), 'w') as f:
23            f.write('42')
24        arvados.current_task().set_output(out.manifest_text())
25    """
26    @util._deprecated('3.0', 'arvados-cwl-runner or the containers API')
27    def __init__(self):
28        self.path = os.environ['TASK_KEEPMOUNT_TMP']
29
30    def __str__(self):
31        return self.path
32
33    def manifest_text(self):
34        snapshot = os.path.join(self.path, '.arvados#collection')
35        return json.load(open(snapshot))['manifest_text']

Keep-backed directory for staging outputs of Crunch tasks.

Example, in a crunch task whose output is a file called “out.txt” containing “42":

import arvados
import arvados.crunch
import os

out = TaskOutputDir()
with open(os.path.join(out.path, 'out.txt'), 'w') as f:
    f.write('42')
arvados.current_task().set_output(out.manifest_text())
@util._deprecated('3.0', 'arvados-cwl-runner or the containers API')
TaskOutputDir()
26    @util._deprecated('3.0', 'arvados-cwl-runner or the containers API')
27    def __init__(self):
28        self.path = os.environ['TASK_KEEPMOUNT_TMP']
path
def manifest_text(self):
33    def manifest_text(self):
34        snapshot = os.path.join(self.path, '.arvados#collection')
35        return json.load(open(snapshot))['manifest_text']