我有一个Google App Engine Flask应用程序,它每分钟使用cron.yaml
发布(通过pubsub_v1
)到pubsub,以及一个正在接收消息的Google Compute Engine,类似于这个例子。GCE应用程序每分钟都会打印出GAE应用程序发送的消息,但每隔几分钟,我就会在GCE日志中收到一条消息,说"Google Compute Engine OS Login未激活"。这将发生6-10分钟,然后GCE应用程序将再次开始打印消息。此消息是什么意思,我该如何解决?
当我在谷歌上搜索"谷歌计算引擎操作系统登录未激活"时,没有任何结果,这对于似乎是某种错误的东西来说很奇怪。
编辑:
这是GCE脚本
from google.cloud import pubsub_v1
import time
import os
import sys
import datetime
import httplib2
from oauth2client import client
import string
project = 'xxx'
topic_name = 'my-new-topic'
from google.cloud import logging
logging_client = logging.Client()
log_name = 'xxx'
logger = logging_client.logger(log_name)
engine = create_engine('xxx')
# The data to log
text = '################### STARTING GCE ###################'
# Writes the log entry
logger.log_text(text)
print('Logged: {}'.format(text))
subscriber = pubsub_v1.SubscriberClient()
topic_path = subscriber.topic_path(project, topic_name)
for subscription in subscriber.list_subscriptions(topic_path):
print(subscription.name)
def receive_messages(project, subscription_name):
"""Receives messages from a pull subscription."""
subscriber = pubsub_v1.SubscriberClient()
subscription_path = subscriber.subscription_path(project, subscription_name)
def callback(message):
print(str(datetime.datetime.now()))
print('Received message: {}'.format(message))
message.ack()
subscriber.subscribe(subscription_path, callback=callback)
# The subscriber is non-blocking, so we must keep the main thread from
# exiting to allow it to process messages in the background.
print('Listening for messages on {}'.format(subscription_path))
while True:
print('while loop: ', str(datetime.datetime.now()))
time.sleep(60)
receive_messages(project, 'test')
操作系统登录是一个测试版功能,我找不到太多关于它的信息。在 1、2 和 3 处有一些信息。它似乎是一个可选的高级用户管理系统。
您看到的消息是由运行您的 GCE 实例的账户管理守护程序生成的。该消息并不表示有问题,因为它只是打印当前状态,实际上它最近被删除了,将停止出现在未来的图像中。
脚本中的任何内容都不依赖于操作系统登录或帐户管理守护程序,因此该消息不太可能与您看到的问题相关。