def create_service(cerise_config):
    """
    Create a Cerise service if one is not already running,
    using the `cerise_config` file.
    """

    srv = None
    try:
        srv = cc.require_managed_service(cerise_config['docker_name'],
                                         cerise_config.get('port', 29593),
                                         cerise_config['docker_image'],
                                         cerise_config['username'],
                                         cerise_config['password'])
        print("Created a new Cerise-client service")
    except docker.errors.APIError as e:
        print(e)
        pass

    return srv
Пример #2
0
#!/usr/bin/env python3

import cerise_client.service as cs
import time

srv = cs.require_managed_service('cerise-example-test', 29593,
                                 'cerise-example')

# If your specialisation is not working, the following will print the
# Cerise server log. That should give you an error message describing
# what went wrong.
# print(srv.get_log())

job = srv.create_job('test_job')
job.set_workflow('test_workflow.cwl')
job.run()

while job.is_running():
    time.sleep(0.1)

# If something goes wrong executing the job, this will print the job log.
# print(job.log)

print(job.outputs['output'].text)

srv.destroy_job(job)
cs.destroy_managed_service(srv)
Пример #3
0
from __future__ import print_function

from time import sleep
import cerise_client.service as cc
import os

# Create a new service for user myuser, with given cluster credentials
env = os.environ
srv = cc.require_managed_service('scientist_das5', 29593,
                                 'mdstudio/cerise-mdstudio-das5:develop',
                                 os.environ['CERISE_DAS5_USERNAME'],
                                 os.environ['CERISE_DAS5_PASSWORD'])

# srv = cc.require_managed_service(
#     'scientist_binac', 29593,
#     'mdstudio/cerise-mdstudio-binac:develop',
#     os.environ['CERISE_BINAC_USERNAME'],
#     os.environ['CERISE_BINAC_PASSWORD'])

# srv = cc.require_managed_service(
#     'scientist_gt', 29593,
#     'mdstudio/cerise-mdstudio-gt:develop',
#     os.environ['CERISE_GT_USERNAME'],
#     os.environ['CERISE_GT_PASSWORD'])

# Start a new service
cc.start_managed_service(srv)

# Create a job and set workflow and inputs
print("Creating job")
job = srv.create_job('decompose_include')
Пример #4
0
import cerise_client.service as cc
import time

srv = cc.require_managed_service('my-cerise-service', 29593,
                                 'mdstudio/cerise:develop')
cc.start_managed_service(srv)

job = srv.create_job('example_job')
job.set_workflow('./example_workflow.cwl')
job.add_input_file('input_file', __file__)
job.run()

# Give the service a chance to stage the job
while job.state == 'Waiting':
    time.sleep(1)

persisted_srv = cc.service_to_dict(srv)
persisted_job = job.id

cc.stop_managed_service(srv)

# store the dict somewhere in persistent storage
# stop client software, shut down computer, etc.

# start computer and client software again
# get dict from persistent storage

srv = cc.service_from_dict(persisted_srv)
cc.start_managed_service(srv)
job = srv.get_job_by_id(persisted_job)