Как нужно запускать python скрипты на OpenShift?

Написал я недавно бота на python ( pyTelegramBotAPI ) и решил поставить его на хостинг OpenShift

Сообщения бот получаем методом polling. На компьютере скрипт прекрасно функционирует, а после отправки его на OpenShift бот получал одно сообщение и вырубался.

Возможно, не стоило основной код программы отправлять в файл setup.py, который загружается сразу же, но другого способа запустить скрипт я не нашел.

Собственно выбивает ошибку на строку
bot.polling(none_stop=True, interval=0)
Traceback (most recent call last):

File "/var/lib/openshift/57517dca0c1e660af1000092/app-root/runtime/rep o//setup.py", line 166, in module

bot.polling(none_stop=True, interval=0)

File "/var/lib/openshift/57517dca0c1e660af1000092/python/virtenv/venv/ lib/python3.3/site-packages/telebot/init.py", line 192, in polling

self.__threaded_polling(none_stop, interval, timeout)
File "/var/lib/openshift/57517dca0c1e660af1000092/python/virtenv/venv/ lib/python3.3/site-packages/telebot/init.py", line 216, in __threaded_pollin g

self.worker_pool.raise_exceptions()
File "/var/lib/openshift/57517dca0c1e660af1000092/python/virtenv/venv/ lib/python3.3/site-packages/telebot/util.py", line 103, in raise_exceptions

six.reraise(self.exc_info[0], self.exc_info1, self.exc_info[2])

File "/opt/rh/python33/root/usr/lib/python3.3/site-packages/six.py", l ine 329, in reraise

raise value
File "/var/lib/openshift/57517dca0c1e660af1000092/python/virtenv/venv/ lib/python3.3/site-packages/telebot/util.py", line 54, in run remote: task(*args, **kwargs)


И на эту функцию
def log(message):
print("\n~~~~~~")
print(str(datetime.datetime.now()))
print("Message from {0} {1}. (id = {2}, chat = {3}) \n Text - {4}".format(message.from_user.first_name,
                                                                          message.from_user.last_name,
                                                                          str(message.from_user.id),
                                                                          str(message.chat.id),
                                                                          message.text))

functions.log(message) File "/var/lib/openshift/57517dca0c1e660af1000092/app-root/runtime/repo/functions.py", line 16, in log

message.text))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 77-82: ordinal not in range(128)


Скажите, пожалуйста, как исправить это или как правильно запускать скрипт, чтобы он работал на сервере 24/7
  • Вопрос задан
  • 503 просмотра
Пригласить эксперта
Ответы на вопрос 1
print - это зло злостное. Если хотите логировать - используйте Logging
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы