我有下面的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)发布于 2016-06-02 14:51:01
您可以在这里使用bash能力。
快速和肮脏:
运行python process.py &将作为后台进程启动它。
看看nohup,它存储过程日志等。
清洁方式实现此操作:
使用supervisor,它是某种服务管理器,它允许您在后台运行守护进程。
查看文档,设置它不会很长,如果您需要帮助,请发表评论。
https://stackoverflow.com/questions/37595130
复制相似问题