github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/python/examples/submit_job.py (about)

     1  """Example of submitting a docker job to the API."""
     2  
     3  import pprint
     4  
     5  from bacalhau_apiclient.models.deal import Deal
     6  from bacalhau_apiclient.models.job_execution_plan import JobExecutionPlan
     7  from bacalhau_apiclient.models.job_sharding_config import JobShardingConfig
     8  from bacalhau_apiclient.models.job_spec_docker import JobSpecDocker
     9  from bacalhau_apiclient.models.job_spec_language import JobSpecLanguage
    10  from bacalhau_apiclient.models.spec import Spec
    11  from bacalhau_apiclient.models.storage_spec import StorageSpec
    12  
    13  from bacalhau_sdk.api import submit
    14  from bacalhau_sdk.config import get_client_id
    15  
    16  data = dict(
    17      APIVersion="V1beta1",
    18      ClientID=get_client_id(),
    19      Spec=Spec(
    20          engine="Docker",
    21          verifier="Noop",
    22          publisher="Estuary",
    23          docker=JobSpecDocker(
    24              image="ubuntu",
    25              entrypoint=["echo", "Hello World!"],
    26          ),
    27          language=JobSpecLanguage(job_context=None),
    28          wasm=None,
    29          resources=None,
    30          timeout=1800,
    31          outputs=[
    32              StorageSpec(
    33                  storage_source="IPFS",
    34                  name="outputs",
    35                  path="/outputs",
    36              )
    37          ],
    38          sharding=JobShardingConfig(
    39              batch_size=1,
    40              glob_pattern_base_path="/inputs",
    41          ),
    42          execution_plan=JobExecutionPlan(shards_total=0),
    43          deal=Deal(concurrency=1, confidence=0, min_bids=0),
    44          do_not_track=False,
    45      ),
    46  )
    47  
    48  pprint.pprint(submit(data))