This content library example contains an implementation of a PDG scheduler that can schedule work items on an AWS ECS cluster.

It is intended to show how PDG can integrate with cloud-based workflows, but it also can be used as a reference implementation of a custom PDG scheduler.

Files:
------
        awsecs_example.hip - Contains a simple cook setup with a ROP Geometry and an AWS ECS Scheduler.
        awsecsscheduler.hda - Contains the implementation of the awsecsscheduler (in PythonModule) and its documentation (in Help).

Subdirectories:
---------------

        container/ - Contains the Dockerfile and run.sh file for the Docker container used by tasks on the ECS cluster.
        The scheduler's help card has more information on how to set this up, but this is where the Houdini installer (ending in .tar.gz) from the builds page should be placed.

How to Use
----------
        Open awsecs_example.hip and make sure the provided asset (awsecsscheduler.hda) is correctly installed (Assets -> Install Asset Library) 
        This scheduler requires that the AWS SDK for python (boto3) is installed to hython.
        If boto3 is not installed to your hython, you may get an error opening the file notifying you that boto3 needs to be installed.
        To install boto3, open a terminal with hython access and run `hython -m pip install boto3`. Then restart Houdini.

	Once boto3 is installed, navigate to obj/topnet1.
	For instructions on how to set up the scheduler and how to use its parameter interface, see the AWS ECS Scheduler HDA's help card by clicking the question mark on the AWS ECS Scheduler's parameter window.
        Once the scheduler is set up with the proper parameter values and your AWS EFS is mounted to the scheduler's Local Shared Path, your setup can be tested by cooking ropgeometry1.