orchestration | SODA Orchestration project is an open source workflow | Job Orchestrator library

 by   sodafoundation Python Version: v0.12.0 License: Apache-2.0

kandi X-RAY | orchestration Summary

kandi X-RAY | orchestration Summary

orchestration is a Python library typically used in Data Processing, Job Orchestrator, Framework applications. orchestration has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has high support. You can download it from GitHub.

SODA Orchestration project is an open source workflow orchestration & automation framework. In a distributed environment, the business processes consist of several interconnected steps which may require streamline the process. SODA Orchestration provides orchestrating these processes to ensure accurate and faster execution with minimal manual intervention. The Orchestration framework provides flexibility to use existing workflows or define customized workflows to get the simplified execution of tasks. It has a pluggable workflow engine. Currently we use the open source stackstorm. You can integrate any such workflow engines to SODA Orchestration. This is one of the SODA Core Projects and is maintained by SODA Foundation directly. . However there can be other SODA Compliant Orchestration projects from partners in future which can be part of SODA Foundation Project Landscape.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              orchestration has a highly active ecosystem.
              It has 15 star(s) with 19 fork(s). There are 15 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 13 open issues and 29 have been closed. On average issues are closed in 5 days. There are 6 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of orchestration is v0.12.0

            kandi-Quality Quality

              orchestration has 0 bugs and 0 code smells.

            kandi-Security Security

              orchestration has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              orchestration code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              orchestration is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              orchestration releases are available to install and integrate.
              Build file is available. You can build the component from source.
              Installation instructions are available. Examples and code snippets are not available.
              It has 2138 lines of code, 154 functions and 50 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed orchestration and discovered the below as its top functions. This is intended to give you an instant insight into orchestration implemented functionality, and help decide if they suit your requirements.
            • List instance operations
            • Context manager to create a session
            • Create a service instance
            • Get a service by id
            • Add new services
            • Returnorchestration URL
            • Get project ID
            • Request OpenSDSDS token
            • Get all Instances
            • Run the analysis engine
            • Returns the list of workflows associated with the given workflow
            • Get task list
            • Delete Instances
            • List all instances
            • Get all available services
            • List workflows
            • Create a new action
            • Delete action by id
            • Get workflow by id
            • Create a task
            • Display usage
            • Run provisioning
            • List WF services
            • Get task status
            • List all services
            • Get info about OpenDSds
            Get all kandi verified functions for this library.

            orchestration Key Features

            No Key Features are available at this moment for orchestration.

            orchestration Examples and Code Snippets

            No Code Snippets are available at this moment for orchestration.

            Community Discussions

            QUESTION

            Is it safe to terminate an orchestrator function that is waiting on a timer?
            Asked 2022-Mar-24 at 17:51

            If I call IDurableOrchestrationClient.TerminateAsync on a running orchestrator that is currently sleeping and waiting on a durable timer created through IDurableOrchestrationContext.CreateTimer, will this result in a graceful shutdown of the entire process including the timer?

            The documentation on timers has a very explicit warning regarding graceful cancellation of any timers that didn't activate in the orchestration:

            Warning

            Use a CancellationTokenSource (.NET) or call cancel() on the returned TimerTask (JavaScript) to cancel a durable timer if your code will not wait for it to complete. The Durable Task Framework will not change an orchestration's status to "completed" until all outstanding tasks are completed or canceled.

            Will calling Terminate respect these restrictions? The documentation on it doesn't make this clear at all.

            Scenario

            I have a requirement where I need to "monitor" some instance for some time after it is created, and to stop monitoring it once the instance is deleted.

            For now, my application raises EventGrid events on creation and deletion of entities, and I listen to those in my orchestration trigger activity: once a creation event is received, I start the orchestration that monitors that instance. Once the deletion event is received, I send an external event to the orchestrator to signal that it should stop monitoring that instance and terminate. Each creation/deletion pair is handled by its own monitor of course (they are isolated from one another, controlled by an explicit instance ID based on the entity ID).

            The orchestrator logic basically fires 2 tasks and waits for the first to finish:

            1. A timer, based on data in the created instance. This can be minutes, to months
            2. A WaitForExternalEvent that waits until the trigger function notifies of a cancellation

            If task 2 wins, I cancel the timer (as per the recommendation), and exit the function. If task 1 wins, I do the processing I need on the instance and ignore the external event.

            The orchestrator itself looks something like this:

            ...

            ANSWER

            Answered 2022-Mar-24 at 17:51

            Yes, it's safe to terminate an orchestration, even if it has pending timers outstanding (or pending activity or sub-orchestration calls, for that matter). The orchestration will always transition into the "Terminated" state. Any messages that appear for an instance after it has been terminated (including timer messages) will be silently discarded.

            Source https://stackoverflow.com/questions/71605056

            QUESTION

            GCP - retrieve cloud composer proxy url - throws error Expected OAuth 2 access toke
            Asked 2022-Feb-18 at 18:36

            I am trying to get the cloud composer proxy url to trigger dags from cloud function. I am following below blog. however it's failing while retrieving this url.

            https://medium.com/google-cloud/calling-cloud-composer-to-cloud-functions-and-back-again-securely-8e65d783acce

            Command

            ...

            ANSWER

            Answered 2022-Feb-18 at 18:36

            I followed the medium post that you shared. NOTE (where my_project_id is, you have to set your project id).

            First I created the project (My user has an owner role in the project) and the environment.

            Source https://stackoverflow.com/questions/71082149

            QUESTION

            Saltstack: how to add informational messages to long orchestration state
            Asked 2022-Feb-02 at 10:34

            I have some long saltstack orchestration states and i want to add some informational messages to it (for example: Gonna apply some state on minion foo) ,and this messages must be printed immediately ( not after all actions completed).

            Jinja log message {% do salt.log.error("Some message) %} is not suitable (they printed before state actually runs).

            test.echo module also not suitable (prints message after all actions completed)

            ...

            ANSWER

            Answered 2021-Nov-18 at 18:38

            There are ways to cheat. As long as you are talking about orchestration AND you are running said orchestration through salt-run.

            And you almost had it. except to conflated the answer into jinja and the wrong module into the state. the reason the log message comes before anything runs is because you are calling it in jinja. but you don't have to call it through jinja. you can call it in a state.

            Source https://stackoverflow.com/questions/70019825

            QUESTION

            Orchestration of on-demand jobs on Azure cloud
            Asked 2022-Jan-25 at 09:50

            I am facing the following problem: I need to execute on-demand long running workers on Azure VMs. These workers are wrapped in a docker image.

            So I looked at what Azure is offering and I seem to have the following two options:

            1. Use a VM with docker-compose. This means I need to be able to programatically start a VM, run the docker image on it, and then shutdown the VM (the specs we use are quite expensive and we can't let it run indefinitely). However this means writing orchestration logic ourselves. Is there a service that maybe we could use to make life easier?

            2. Setting up a k8s cluster. However, I am not sure how pricing works here. Would I be able to add the type of the VMs we use to the cluster, and then use the k8s API to start on-demand containers? How would I get priced in this case?

            ...

            ANSWER

            Answered 2022-Jan-25 at 09:50

            If the only thing you need are workers, there are a few more options you have. Which service suits best depends on the requirements you have. Based on what's in your question, I would think one of the following two might fit best:

            Azure Container Instances

            Azure Container Instances offers the fastest and simplest way to run a container in Azure, without having to manage any virtual machines and without having to adopt a higher-level service.

            Azure Container Instances is a great solution for any scenario that can operate in isolated containers, including simple applications, task automation, and build jobs.

            Azure Container Apps (preview)

            Azure Container Apps enables you to run microservices and containerized applications on a serverless platform. Common uses of Azure Container Apps include:

            • Deploying API endpoints
            • Hosting background processing applications
            • Handling event-driven processing
            • Running microservices

            According to Azure's Container services page, here are your options:

            IF YOU WANT TO USE THIS Deploy and scale containers on managed Kubernetes Azure Kubernetes Service (AKS) Deploy and scale containers on managed Red Hat OpenShift Azure Red Hat OpenShift Build and deploy modern apps and microservices using serverless containers Azure Container Apps Execute event-driven, serverless code with an end-to-end development experience Azure Functions Run containerized web apps on Windows and Linux Web App for Containers Launch containers with hypervisor isolation Azure Container Instances Deploy and operate always-on, scalable, distributed apps Azure Service Fabric Build, store, secure, and replicate container images and artifacts Azure Container Registry

            EDIT:
            Based on the comment

            Let's say the only requirement is that I am able to use the resources on-demand, so I only end up spending the amount of money that would take for a certain job to finish execution. What would you use?

            the answer would most probably be Container Apps, if the code you have available is not easily migrated to an Azure Function. The most important reason: they are Serverless, which means they scale to zero and you only pay for actual consumption. Next to that, you have to write limited to no orchestration logic, since the container apps can scale based on event sources.

            Enables event-driven application architectures by supporting scale based on traffic and pulling from event sources like queues, including scale to zero.

            Another great resource is Comparing Container Apps with other Azure container options.

            Source https://stackoverflow.com/questions/70846145

            QUESTION

            Error when using `docker run` with volume
            Asked 2022-Jan-18 at 11:06

            I'm really inexperienced with this. I'm a programmer, not a sysadmin. I'm trying to run a windows docker container on a windows host using this command:

            ...

            ANSWER

            Answered 2022-Jan-17 at 17:43

            you can replace -v with the following argument --mount source=,target=

            Give any volume name you like (case sensative) the volume is located at \\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

            NOTE: Since you a running a windows container, the volume location may or may not be the same as listed above

            Source https://stackoverflow.com/questions/70745155

            QUESTION

            AWS API Gateway and Spring boot custom authorization
            Asked 2022-Jan-11 at 11:27

            I am currently working on one project where it requires the custom authentication process. This application will be deployed on AWS platform, in which I am considering to use below AWS services like

            1. API Gateway
            2. Custom Authorization
            3. EKS

            The plan is to deploy all backend services in the docker containers and use EKS service for container orchestration process. All input request will be validated through API gateway and routed to the respective backend services.
            We are going to use custom authorization process with below possible steps:

            1. Our application (say CHILD-APP) will be integrated with an existing application (say PARENT-APP), where the PARENT-APP will take care of the user authentication.
            2. On successful user authentication, the PARENT-APP will request the access token (JWT Token) to CHILD-APP.
            3. This access token will be used by CHILD-APP User Interface to make the backend request calls.
            4. We are using custom access token validation process to check the token integrity, the username validation and other additional validations (cannot be exposed due to compliances).
            5. Currently I am using the Spring Boot API Gateway for URL routings, and for access token validations.
            6. Also using custom Spring Cloud Eureka server to register the services.

            Questions:

            1. How to use the AWS API Gateway for such custom authentication and authorization process?
            2. Can I use the Spring Cloud Eureka server and custom authorization along with the AWS API Gateway?

            Any help related to this is appreciated.

            Thanks,

            Avinash

            ...

            ANSWER

            Answered 2022-Jan-11 at 11:27

            It seems like AWS Lambda Authorizers is something you're looking for: https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html These are lambda functions which can be used to authorize access to your APIs at the gateway level.

            At Curity we have recently created such an authorizer which performs an introspection request to the Authorization Server to exchange an opaque token for a JWT: https://github.com/curityio/aws-phantom-token-lambda-authorizer It looks like you need something similar. Your authorizer could call the parent app, which will perform all the custom validations on the token and return a proper result, which then the AWS Lambda authorizer will use to make authorization decision.

            Source https://stackoverflow.com/questions/70664323

            QUESTION

            Kubernetes: what's the difference between Deployment and Replica set?
            Asked 2022-Jan-09 at 17:34

            Both replica set and deployment have the attribute replica: 3, what's the difference between deployment and replica set? Does deployment work via replica set under the hood?

            configuration of deployment

            ...

            ANSWER

            Answered 2021-Oct-05 at 09:41

            A deployment is a higher abstraction that manages one or more replicasets to provide controlled rollout of a new version.

            As long as you don't have a rollout in progress a deployment will result in a single replicaset with the replication factor managed by the deployment.

            Source https://stackoverflow.com/questions/69448131

            QUESTION

            BTSKTask AddResource - How to raise an error in case the command fails
            Asked 2021-Dec-30 at 00:31

            We are using the following command to deploy BizTalk assemblies via PowerShell:

            ...

            ANSWER

            Answered 2021-Dec-30 at 00:31

            You need to capture the output and check it for the failure, or rather, check for success and fail if it doesn't.

            Source https://stackoverflow.com/questions/70517419

            QUESTION

            BizTalk send/receive - does it wait for completion of a called stored procedure?
            Asked 2021-Nov-29 at 22:30

            I've setup a BizTalk design that chains a couple of send/receives to a SQL stored procedure (which inserts the data to relevant tables). It's organised in a specific sequence, so data goes into Table A, and following tables after this check that the data exists in Table A at the Stored Procedure level (simple (IF EXISTS in Table A setup...).

            I've noticed though that the flow isn't consistent further down the chain, almost as if SQL is executing the stored procedure to insert/update the record slower than the BizTalk transaction is occurring. I've made sure that my Biz design is send/receive, as I assumed the transaction wouldn't progress until Biz received a response from the stored procedure (which would indicate SQL has finished inserting the required data).

            The below example highlights where the process writes data to the Person table, but is later called upon by the Student Programme/Student Module. Occasionally, it will dehydrate on the Programme or Module stored procedure (from what I can tell, because the stored procedures are looking to see if a Person record created at the start of the flow exists)

            Can anyone please confirm if;

            • Send/Receive will wait for a SQL stored procedure to finish executing before progressing the BizTalk transaction further through the orchestration?
            ...

            ANSWER

            Answered 2021-Nov-29 at 22:30

            BizTalk Orchestrations have some smarts built into it, if there are no dependencies in the next shapes on the response, then no, it might not wait for the response to execute the next shapes. What you can try is to enable the Delivery Notification to Transmitted on the Logical Send Port settings.

            Source https://stackoverflow.com/questions/70157258

            QUESTION

            Step function with Redshift cluster
            Asked 2021-Nov-15 at 15:38

            Building a step function to orchestrate an ETL pipeline but keep getting this error. Here is my code and following below AWS docs. https://docs.aws.amazon.com/step-functions/latest/dg/sample-etl-orchestration.html

            ...

            ANSWER

            Answered 2021-Nov-15 at 15:38

            You don't see the state "runetljobs" defined in you state definition.

            Source https://stackoverflow.com/questions/69970522

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install orchestration

            You can download it from GitHub.
            You can use orchestration like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries

            Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Job Orchestrator Libraries

            lens

            by lensapp

            bolt

            by puppetlabs

            swan

            by Dataman-Cloud

            kube-cluster-osx

            by TheNewNormal

            Try Top Libraries by sodafoundation

            api

            by sodafoundationGo

            strato

            by sodafoundationHTML

            multi-cloud

            by sodafoundationHTML

            delfin

            by sodafoundationPython

            nbp

            by sodafoundationGo