Экран GNU: соединение уже закрыто - PullRequest
0 голосов
/ 14 мая 2019

Я выполняю некоторые задачи, выполнение которых может занять 3-4 месяца (передача наборов данных) на удаленный сервер через ssh, поэтому я использовал screen для запуска скриптов python, выполняющих эту работу.

К сожалению, соединениеперерывы после работы в течение примерно 6-8 дней (это происходит дважды), несмотря на то, что я правильно отключил все screen сеансы (Ctrl+a d), поэтому мне нужно начинать все сначала (чтобы избежать дублирования в переданных наборах данных).

root$screen -r
There are several suitable screens on:
    7567.noiselevel_script  (Detached)
    6046.airquality_script  (Detached)
    1448.weather_script (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.

root$screen -r 6046.airquality_script
595997it [167:43:10,  1.01s/it]
{"particles": null, "O3": 1.4509, "dateObserved": "2015-06-16T21:54:54+01:00", "name": "FEUP I-181 Calibration", "location": {"coordinates": [-8.594866, 41.178031]}}
595998it [167:43:11,  1.01s/it]
{"particles": null, "O3": 1.50961, "dateObserved": "2015-06-16T21:54:55+01:00", "name": "FEUP I-181 Calibration", "location": {"coordinates": [-8.594866, 41.178031]}}
595999it [167:43:12,  1.01s/it]
{"particles": null, "O3": 1.47883, "dateObserved": "2015-06-16T21:54:58+01:00", "name": "FEUP I-181 Calibration", "location": {"coordinates": [-8.594866, 41.178031]}}
596000it [167:43:13,  1.01s/it]connection already closed

Вы видите сообщение , уже закрытое , сообщение выше, скрипт останавливается после итерации 596000it (больше не работает)

Могу ли я узнать, как этого добитьсяиз приведенных ниже вариантов, чтобы избежать этого разочарования:

  1. Избегайте этой проблемы connection already closed, чтобы скрипт python работал до тех пор, пока все наборы данных не будут полностью перенесены, ИЛИ
  2. Есть способ продолжить выборку набора данныхиз исходной базы данных, откуда последний скрипт сломался.

1 Ответ

1 голос
/ 14 мая 2019

Сохраняйте текущее местоположение, где остановился ваш скрипт, и, если вы потеряете соединение, где начать снова.

Предполагая, конечно, что данные не менялись между сеансами.

...