# Path: ndscheduler/corescheduler/job.py
# class JobBase:
#     def __init__(self, job_id, execution_id):
#     def create_test_instance(cls):
#     def get_scheduled_description(cls):
#     def get_scheduled_error_description(cls):
#     def get_running_description(cls):
#     def get_failed_description(cls):
#     def get_succeeded_description(cls, result=None):
#     def get_scheduled_error_result(cls):
#     def get_failed_result(cls):
#     def meta_info(cls):
#     def run_job(cls, job_id, execution_id, *args, **kwargs):
#     def run(self, *args, **kwargs):


from ndscheduler.corescheduler import job
"""A sample job that prints string."""



class AwesomeJob(job.JobBase):

    @classmethod
    def meta_info(cls):
        return {
            'job_class_string': '%s.%s' % (cls.__module__, cls.__name__),
            'notes': 'This will print a string in your shell. Check it out!',
            'arguments': [
                # argument1
                {'type': 'string', 'description': 'First argument'},

                # argument2
                {'type': 'string', 'description': 'Second argument'}
            ],
            'example_arguments': '["first argument AAA", "second argument BBB"]'
        }

    def run(self, argument1, argument2, *args, **kwargs):
        print('Hello from AwesomeJob! Argument1: %s, Argument2: %s' % (argument1, argument2))
        return [argument1, argument2]


if __name__ == "__main__":
    # You can easily test this job here

# Path: ndscheduler/corescheduler/job.py
# class JobBase:
#     def __init__(self, job_id, execution_id):
#     def create_test_instance(cls):
#     def get_scheduled_description(cls):
#     def get_scheduled_error_description(cls):
#     def get_running_description(cls):
#     def get_failed_description(cls):
#     def get_succeeded_description(cls, result=None):
#     def get_scheduled_error_result(cls):
#     def get_failed_result(cls):
#     def meta_info(cls):
#     def run_job(cls, job_id, execution_id, *args, **kwargs):
#     def run(self, *args, **kwargs):


# Path: simple_scheduler/jobs/sample_job.py
from ndscheduler.corescheduler import job

"""A sample job that prints string."""



class AwesomeJob(job.JobBase):

    @classmethod
    def meta_info(cls):
        return {
            'job_class_string': '%s.%s' % (cls.__module__, cls.__name__),
            'notes': 'This will print a string in your shell. Check it out!',
            'arguments': [
                # argument1
                {'type': 'string', 'description': 'First argument'},

                # argument2
                {'type': 'string', 'description': 'Second argument'}
            ],
            'example_arguments': '["first argument AAA", "second argument BBB"]'
        }

    def run(self, argument1, argument2, *args, **kwargs):
        print('Hello from AwesomeJob! Argument1: %s, Argument2: %s' % (argument1, argument2))
        return [argument1, argument2]


if __name__ == "__main__":
    # You can easily test this job here

    job = AwesomeJob.create_test_instance()