1 Answer
- Newest
- Most votes
- Most comments
0
My impression is that Nomad is: https://www.hashicorp.com/products/nomad
I am not sure if you are specifically tied to Nomad / Docker / Redis. If so, I can't offer any insight since I have not used Nomad. The key will be which AWS services it can call / interact with.
If you are not tied to your existing stack, there are a couple of simple and proven AWS / Cloud patterns that would potentially work well for you since you are running Python scripts.
- Use API Gateway to host endpoints that are called when the user selects a script from your list. The APIGW is a proxy to a lambda (specifically python) to execute your script logic and return a result to the client side. (https://docs.aws.amazon.com/solutions/latest/constructs/aws-apigateway-lambda.html). The lambda can take up to 15 minutes if needed. Call the API GW from Nomad (if possible) or create a simple web page to offer the options, collect input data and call APIGW. Host web page in S3/CloudFront (https://docs.aws.amazon.com/solutions/latest/constructs/aws-cloudfront-apigateway-lambda.html).
- USE API GW and have it proxy to SQS to store the results (https://docs.aws.amazon.com/solutions/latest/constructs/aws-apigateway-sqs.html). Then you can have a Lambda trigger (to your Python lambdas) or docker long polling the SQS queue to process the request. Same front end as #1.
In any case, you appear to be using Redis as a queue. AWS has SQS which is a is probably a better option for this use case. But, I think you may be using Redis because it is a data source available to Nomad and SQS may not be.
answered a year ago
Relevant content
- asked 2 years ago
- AWS OFFICIALUpdated 7 months ago
- AWS OFFICIALUpdated 7 months ago
- AWS OFFICIALUpdated 7 months ago