par*_*asu 6 amazon-web-services amazon-elastic-beanstalk
我在弹性 beanstalk 上有一个带有 Web 服务器和工作环境的 docker 应用程序。
工作环境当前通过 cron 运行计划作业。我正在尝试将服务器连接到工作人员以实现以下目标:
我无法找到有关 JSON 消息应是什么样子的文档。官方文档中提到了一些HTTP headers 。但没有提到标头来指定工作环境中所需的端点。
# server.py
from bottle import post, HTTPResponse
@post('/trigger_job')
def trigger_worker_job():
# should send a JSON message to sqs to trigger the '/perform_job'
# Need help with what the JSON message looks like
return HTTPResponse(status=200, body={'Msg': 'Sent message'})
Run Code Online (Sandbox Code Playgroud)
# worker.py
from bottle import post, HTTPResponse
@post('/perform_job')
def perform_job():
# job is performed in the worker environment
return HTTPResponse(status=200, body={'Msg': 'Success'})
Run Code Online (Sandbox Code Playgroud)
在 Python 中,您可以从 python 示例应用程序中了解这一点,您可以在此aws 文档步骤 4:部署新应用程序版本中找到该应用程序。
您可以在 beanstalk 工作环境控制台中配置 SQS 端点。配置 > 工作线程 > 选择工作线程队列
# for example:
environ['HTTP_X_AWS_SQSD_TASKNAME']
environ['HTTP_X_AWS_SQSD_SCHEDULED_AT']
logger.info("environ X-Aws-Sqsd-Queue %s" % environ['HTTP_X_AWS_SQSD_QUEUE'])
# regarding your message attribute. For example, the attribute name is Email,
# you can extract it via environ['HTTP_X_AWS_SQSD_ATTR_EMAIL']).
# Make sure that the attribute name is all capital.
logger.info("environ X-Aws-Sqsd-Attr Email %s" % environ['HTTP_X_AWS_SQSD_ATTR_EMAIL'])
Run Code Online (Sandbox Code Playgroud)
该消息将包含图像中的以下信息。您可以阅读有关aws AWS Elastic Beanstalk 工作线程环境的更多信息
归档时间: |
|
查看次数: |
2014 次 |
最近记录: |