Ошибка приложения при попытке запустить приложение Heroku python

#python #heroku

Вопрос:

Я пытаюсь выполнить простой скрипт на Python, который вставляет текущую запись метки времени в MongoDB. Скрипт размещен на Heroku.

Основной файл: datetime_heroku.py

 import datetime
import pymongo

client = pymongo.MongoClient("mongodb srv://hexxx:xxxxxx@clusxxx.psg7i.mongodb.net/timestamp_recorder?retryWrites=trueamp;w=majority")


def save_data_to_mongo(data):
    db = client["timestamp_recorder_db"]
    collection = db["time_collection"]
    collection.insert_one(data)


if __name__ == "__main__":
    date_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    data = {}
    data["text"] = "Hello World"
    data["date_time"] = date_time
    save_data_to_mongo(data)
 

requirements.txt файл

 pymongo
datetime
dnspython
 

runtime.txt файл

 python-3.9.5
 

Получение ошибки ниже при запуске приложения —

код=H14 описание=»Веб-процессы не запущены» метод=ПОЛУЧИТЬ путь=»/favicon.ico» host=test-py-scheduler.herokuapp.com request_id=ac178878-504a-4e9c-acb0-e11e1062be71 fwd=»49.206.57.99″ динамо= подключение= служба= статус=503 байта= протокол=https

Я попытался найти возможное решение этой ошибки. В некоторых местах упоминается, что нам нужно иметь Procfile в корневом каталоге с содержимым в виде web: python datetime_heroku.py

Я попытался это сделать, а также увеличил свое приложение до 1, запустив heroku ps:scale web=1 --app test-py-scheduler его, но оно все еще не работает. Поскольку скрипт не является веб-приложением, действительно ли нам нужно выполнять описанные выше действия или мне чего-то здесь не хватает.

Комментарии:

1. Вам не нужен web динамометр, используйте a worker , чтобы вам не нужно было привязывать $PORT