boto3在后台检查新的SQS消息

时间:2016-06-02 14:46:13

标签: python amazon-sqs boto3

我有以下python脚本轮询sqs并处理任何被推送到队列的消息。我在终端中运行python process.py并看到它按原样处理。

让此脚本在后台运行的最佳或首选方法是什么?

conn = boto.sqs.connect_to_region( REGION , aws_access_key_id=AWS_ACCESS_KEY_ID, aws_secret_access_key=AWS_SECRET_ACCESS_KEY)
q = conn.get_queue( PROCESS_QUEUE )

def process_message(m):
    # do some processing
    # q.delete_message(m)

while 1:
    q.set_message_class(RawMessage)
    m = q.read(wait_time_seconds=20)

    if m:
        print 'processing...'
        process_message(m, q)

    time.sleep(10)

1 个答案:

答案 0 :(得分:0)

您可以在此处使用bash功能。

又快又脏:

正在运行python process.py &会将其作为后台进程启动。

查看存储过程日志等的nohup

干净的方法:

使用supervisor,它是某种服务管理器,允许您在后台运行守护进程。

查看docs,将其设置为不长,如果需要帮助则发表评论。