{"id":2175,"url":"\/distributions\/2175\/click?bit=1&hash=803b6e1bcbd9dfc4ba9456fda887a878c80d24df8d3a575913b14876e18923a5","title":"TJ \u0437\u0430\u043a\u0440\u043e\u0435\u0442\u0441\u044f 10 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u2014\u00a0\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0430\u043d\u043e\u043d\u0441 \u0441 \u0434\u0435\u0442\u0430\u043b\u044f\u043c\u0438","buttonText":"\u0427\u0438\u0442\u0430\u0442\u044c","imageUuid":"d1d355d8-93a3-5140-aeae-14b03046b760","isPaidAndBannersEnabled":false}
Разработка
Denis Shiryaev

Исходный код топа твитов

Всем приветик – как мы и обсудили в последнем посте Влада, мы хотели бы поделиться с вами исходным кодом бота твитов, который позволит сообществу или доработать его, или сломать, или полностью переписать алгоритм.

Исходный код:

Прочитать как сейчас работает подсайт твиты можно тут.

Что вы можете с этим делать:

  • Написать свой топ с блекджеком и твитами;
  • Сделать что-то, что мы могли бы встроить на какую-то страницу в виде iFrame решения – например, вместо шапки подсайта «твиты»;
  • В целом пересмотреть алгоритм топа и то, как бот отбирает твиты для публикации.

Если вы вдруг серьезно задумаетесь об интеграции топа с Основой, то вот то, почему бот сейчас постит всё в виде публикаций:

Что лично нам нравится в текущей работе подсайта твиты – что накрученные ботами твиты сливает сообщество и что каждый твит можно обсудить с сообществом если хочется.

Тем не менее, мы не считаем что успешно решили часть с «алгоритмом» выбора популярных твитов.

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

0
17 комментариев
Написать комментарий...
Драгоценный Кирилл

Спасибо!
Осталось самое сложное - получить ключи к апи. Я уже неделю с ними переписываюсь, объясняю зачем они мне нужны, а они все думают и просят уточнить

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Вчерашний глобус
Sometimes it starting to use 99% CPU and you need to manually kill -9 it and start again.
Ответить
Развернуть ветку
Pavel Averyanov

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

// ВНИМАНИЕ! Здесь нет кэширования, эта функция надеется, что кэширование будет на принимающей стороне

Неистово кекаю с формулировки

Ответить
Развернуть ветку
Уникальный теркин30см

PHP, meh..

Ответить
Развернуть ветку
Denis Shiryaev
Автор

Вся Основа на PHP ;)

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
byron

И это очень грустно :(

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Вчерашний глобус

Потому что PHP это бяка.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Уникальный теркин30см

Пасеб

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Sasha Blashenkov

Давно не работал с пхп, сильно не бейте
1. Как понимаю, класса для работы с базой данных нет и его нужно написать самостоятельно, да?
2. На macOS без sudo очень начинает громко кричать (чуть ниже), а с sudo просто завершается без сообщений и логов не пишет - в текущем виде так и должно быть?
Warning: cli_set_process_title(): cli_set_process_title had an error: Not initialized correctly in /../vendor/firehed/processmanager/src/Daemon.php on line 88
Starting...
Warning: fopen(/var/run/tj-twitter-users.pid): failed to open stream: Permission denied in /../vendor/firehed/processmanager/src/Daemon.php on line 148

Warning: flock() expects parameter 1 to be resource, boolean given in /../vendor/firehed/processmanager/src/Daemon.php on line 149
[FAILED]
Could not lock the pidfile. This daemon may already be running.

Ответить
Развернуть ветку
Драгоценный Кирилл

1. Замени на любую другую обертку для работы с базой. Или перепиши на чистый запрос

2. Путь до pid файла подправь, чтобы он лежал в доступной для записи директории

Ответить
Развернуть ветку
Sasha Blashenkov

Поправил путь до pid, не помогло, но после изменения $daemon->setUser(), пути до pid и даунгрейда пхп, стало выводить Starting: OK, но при этом ничего не появляется в процессах и все равно ошибками кидается

Кажется, проще будет попробовать это все в докер запихнуть

Ответить
Развернуть ветку
Stan Majors

Ну ща на микросервисы ж все попилили? Гошечка?
Многие на архитектурной части собеседа просят спроектировать твитор

Ответить
Развернуть ветку
Читать все 17 комментариев
null