Как хранить твиты из Twitter Streaming API в MySQL с закрытым SSH - PullRequest
0 голосов
/ 23 марта 2012

Мой скрипт mystreaming.py слушает API Twitter Streaming (из моего канала) и вставляет твиты в таблицу MySQL. Работает, полностью проверено. Однако теперь я хочу, чтобы эта команда продолжала выполняться даже после выхода из командной строки (мне нужно, чтобы она выполнялась на моем узле в линоде). Я использую nohup, но, похоже, работа не завершена.

Итак, я делаю:

nohup mysql &
nohup python mystreaming.py < /dev/null > /dev/null 2>&1 &

Однако, когда я проверяю свои таблицы, похоже, что последний твит был до 23:59, и после этого ничего не добавлялось. Однако с тех пор в моем фиде были опубликованы новые твиты. Есть идеи, что может вызвать эту проблему? Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

Более простое решение, которое решительно решит вашу проблему: инвестируйте в терминальный мультиплексор , такой как GNU Screen или tmux . Это дает дополнительное преимущество, позволяя вам подключиться к сеансу, если что-то пойдет не так.

Чтобы отключить эти задания при запуске с поддержкой ведения журнала, рассмотрите возможность использования crontab или /etc/rc.local.

0 голосов
/ 24 марта 2012

Правильное решение, вероятно, состоит в том, чтобы превратить ваш скрипт на Ruby в демона. Проверить Сделать Ruby-программу демоном?

Но если бы это был я, я бы просто запустил его в GNU Screen. Смотрите, например http://spin.atomicobject.com/2011/04/29/gnu-screen-crash-course/

...