toil.test.src.jobServiceTest¶
Attributes¶
Classes¶
Tests testing the Job.Service class |
|
Tests testing the Job.Service class |
|
Abstract class used to define the interface to a service. |
|
Abstract class used to define the interface to a service. |
Functions¶
|
Creates one service and one accessing job, which communicate with two files to establish |
|
Creates a chain of services and accessing jobs, each paired together. |
|
Creates multiple chains of services and accessing jobs. |
|
Writes a random integer iinto the inJobStoreFileID file, then tries 10 times reading |
|
Function concatenates the strings together and writes them to the output file |
Module Contents¶
- toil.test.src.jobServiceTest.logger¶
- class toil.test.src.jobServiceTest.JobServiceTest(methodName='runTest')[source]¶
Bases:
toil.test.ToilTest
Tests testing the Job.Service class
- testServiceSerialization()[source]¶
Tests that a service can receive a promise without producing a serialization error.
- testService(checkpoint=False)[source]¶
Tests the creation of a Job.Service with random failures of the worker.
- testServiceDeadlock()[source]¶
Creates a job with more services than maxServices, checks that deadlock is detected.
- testServiceWithCheckpoints()[source]¶
Tests the creation of a Job.Service with random failures of the worker, making the root job use checkpointing to restart the subtree.
- testServiceRecursive(checkpoint=True)[source]¶
Tests the creation of a Job.Service, creating a chain of services and accessing jobs. Randomly fails the worker.
- class toil.test.src.jobServiceTest.PerfectServiceTest(methodName='runTest')[source]¶
Bases:
JobServiceTest
Tests testing the Job.Service class
- toil.test.src.jobServiceTest.serviceTest(job, outFile, messageInt)[source]¶
Creates one service and one accessing job, which communicate with two files to establish that both run concurrently.
- toil.test.src.jobServiceTest.serviceTestRecursive(job, outFile, messages)[source]¶
Creates a chain of services and accessing jobs, each paired together.
- toil.test.src.jobServiceTest.serviceTestParallelRecursive(job, outFiles, messageBundles)[source]¶
Creates multiple chains of services and accessing jobs.
- class toil.test.src.jobServiceTest.ToyService(messageInt, *args, **kwargs)[source]¶
Bases:
toil.job.Job.Service
Abstract class used to define the interface to a service.
Should be subclassed by the user to define services.
Is not executed as a job; runs within a ServiceHostJob.
- messageInt¶
- start(job)[source]¶
Start the service.
- Parameters:
job – The underlying host job that the service is being run in. Can be used to register deferred functions, or to access the fileStore for creating temporary files.
- Returns:
An object describing how to access the service. The object must be pickleable and will be used by jobs to access the service (see
toil.job.Job.addService()
).
- stop(job)[source]¶
Stops the service. Function can block until complete.
- Parameters:
job – The underlying host job that the service is being run in. Can be used to register deferred functions, or to access the fileStore for creating temporary files.
- check()[source]¶
Checks the service is still running.
- Raises:
exceptions.RuntimeError – If the service failed, this will cause the service job to be labeled failed.
- Returns:
True if the service is still running, else False. If False then the service job will be terminated, and considered a success. Important point: if the service job exits due to a failure, it should raise a RuntimeError, not return False!
- toil.test.src.jobServiceTest.serviceAccessor(job, communicationFiles, outFile, to_subtract)[source]¶
Writes a random integer iinto the inJobStoreFileID file, then tries 10 times reading from outJobStoreFileID to get a pair of integers, the first equal to i the second written into the outputFile.
- class toil.test.src.jobServiceTest.ToySerializableService(messageInt, *args, **kwargs)[source]¶
Bases:
toil.job.Job.Service
Abstract class used to define the interface to a service.
Should be subclassed by the user to define services.
Is not executed as a job; runs within a ServiceHostJob.
- messageInt¶
- start(job)[source]¶
Start the service.
- Parameters:
job – The underlying host job that the service is being run in. Can be used to register deferred functions, or to access the fileStore for creating temporary files.
- Returns:
An object describing how to access the service. The object must be pickleable and will be used by jobs to access the service (see
toil.job.Job.addService()
).
- stop(job)[source]¶
Stops the service. Function can block until complete.
- Parameters:
job – The underlying host job that the service is being run in. Can be used to register deferred functions, or to access the fileStore for creating temporary files.
- check()[source]¶
Checks the service is still running.
- Raises:
exceptions.RuntimeError – If the service failed, this will cause the service job to be labeled failed.
- Returns:
True if the service is still running, else False. If False then the service job will be terminated, and considered a success. Important point: if the service job exits due to a failure, it should raise a RuntimeError, not return False!