我如何创建一个运行247并发送邮件的应用程序?

问题描述 投票:1回答:1

我已经用python3创建了这个控制台脚本,它使用的是 requests 模块从网站中提取信息 https:/api.warframestat.usps4fissures。 但我想运行这个247,而不是在我的电脑上,是否可以在网上进行这个计算?我的程序每分钟都会执行自己的程序,因为网站会改变它的信息。顺便说一下,我是编程新手,我知道我的问题对你们中的一些人来说是微不足道的。

我还没有添加发送邮件的功能,我以后会做的。

我的代码。

import JSON
import requests
import time



url = 'https://api.warframestat.us/ps4/fissures'
current_survivals = [] # hold current survivals until new once appear
ids_sent = []

while True:
    raw_data = requests.get(url)
    fissures_data = json.loads(raw_data.text)

    # I have to clear to get rid of the old id's
    current_survivals.clear()

    print()
    for x in fissures_data:
        print(x['missionType'])
    print()
    # add 
    for mission in fissures_data:
        if mission['missionType'] == 'Capture':
            # add to current_survivals
            current_survivals.append(mission['id'])

    # Makes sure not to send an email twice 
    for x in current_survivals:
        if x in ids_sent:
            print("Email already sent.")
        else:
            ids_sent.append(x)
            print("Send Email")

            # send an email 

    print("Current_survivals: " + str(current_survivals))
    print("ids_sent: " + str(ids_sent) + "\n")


    time.sleep(60) #will run agian after 1 minute

python-3.x web-applications python-requests server-side
1个回答
0
投票

要想让它a)不在你的计算机上运行,b)每分钟运行一次,也许最好的方法是使用AWS lambda(或Azure等上的等价物)。

你需要设置一个AWS账户,配置一个lambda等等,等等--所以有点学习曲线,但这似乎是最简单的方法。

另一种方法是使用云服务器(例如AWS服务器实例),但要让它每分钟运行一次,你就必须处理(并学习)cron,或者让你的代码沉睡一分钟然后再尝试。 但在这种情况下,你还需要担心正常运行时间,以及一些系统来确保你的脚本正确工作,正确启动等等等等。

© www.soinside.com 2019 - 2024. All rights reserved.