daemon.tasks module

class daemon.tasks.DaemonWorker(id, files, name, *args, **kwargs)[source]

Bases: threading.Thread

Worker Thread for JinaD

This constructor should always be called with keyword arguments. Arguments are:

group should be None; reserved for future extension when a ThreadGroup class is implemented.

target is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.

name is the thread name. By default, a unique name is constructed of the form “Thread-N” where N is a small decimal number.

args is the argument tuple for the target invocation. Defaults to ().

kwargs is a dictionary of keyword arguments for the target invocation. Defaults to {}.

If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread.

arguments

The decorator to cache property of a class.

metadata

The decorator to cache property of a class.

workdir

The decorator to cache property of a class.

daemon_file

The decorator to cache property of a class.

network_id

The decorator to cache property of a class.

generate_image()[source]

build and create a docker image

Return type

str

Returns

image id

container_id

The decorator to cache property of a class.

run()[source]

Method representing the worker thread’s activity DaemonWorker is a daemon thread responsible for the following tasks: During create: - store uploaded files in a local workspace - create a docker network for the workspace which would be used by all child containers - build a docker image to be used by all child containers - create a container if run command is passed During update: - update files in the local workspace - removes the workspace container, if any - recreate workspace container, if run command is passed

Return type

None

class daemon.tasks.ConsumerThread(*args, **kwargs)[source]

Bases: threading.Thread

Consumer Thread for JinaD

This constructor should always be called with keyword arguments. Arguments are:

group should be None; reserved for future extension when a ThreadGroup class is implemented.

target is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.

name is the thread name. By default, a unique name is constructed of the form “Thread-N” where N is a small decimal number.

args is the argument tuple for the target invocation. Defaults to ().

kwargs is a dictionary of keyword arguments for the target invocation. Defaults to {}.

If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread.

run()[source]

Method representing the ConsumerThread’s activity ConsumerThread is a daemon thread that waits for messages from the __task_queue__ and starts a DaemonWorker for each message.

Return type

None