Centos Python Installation Guide with no Pain

Install Python on Centos 7 with make altinstall and without pain. Read more…
Install Python on Centos 7 with make altinstall and without pain. Read more…
Вкратце: когда добавляешь пачку тасок на Celery worker’ы, случается так, что парочка из них отваливается или засыпает или еще чего. Долго не доходили руки поправить это недоразумение, поэтому я просто рестартовал все воркеры раз в пару дней или прямо перед началом проверки рутины, в общем очень сложно было поймать и воспроизвести тот случай, когда без каких-либо ошибок воркер просто молчал. И наконец дошоли руки запилить кривофикс, время покажет насколько он толковый, суть в следующем: В сразу после момента определения свободного воркера – запускать app.control.heartbeat() и app.control.ping(timeout=10) и если ответ пришел (в виде [{‘alpha@host’: {‘ok’: ‘pong’}}]) – значит воркер готов и можно передавать ему таску, пачку тасков, рутину и тп. Если ответ пришел отличным от этого – даем ошибку и ничего не запускаемShort Read more…
Have an interesting case I want to share and save for future. One small problem in this system: https://github.com/trianglesis/BMC_TPL_IDE is showing when some process is running and was not hanged up. Sometimes we need to run a huge amount of checks and tests and would be great to know if something hangs before killing it mannually. I used different scenarios and mostly a module pregressbar2, and this is what I finally can compose: Make worker which will execute job sorf of randomly: import time import random print(“START SOMETHING”) for i in range(5): sec = random.randint(1, 3) print(“Sleeping for: %d” % sec) time.sleep(sec) print(“Making job, line: %d” % i) print(“END SOMETHING”) Make process executor: import sys import subprocess import progressbar # DrawShort Read more…
Публикация поста с именинниками Вконтакте: Старый скриптец, который я использовал около года назад для выборки именинников и публикации поста с ними на стену сообществ Вконтакте. Выкладываю в публичный доступ, так как морально он устарел и код в нем выглядит ужасно, но подходит чисто для образовательных целей и “авось кому пригодится” мне бы он помог на первых порах изучения, может быть … Сам код можете смотреть здесь: В ближайшие дни, недели, месяцы я буду выкладывать все эти прошлые поделки, по мере того, как полностью перепишу их на новый манер, сейчас у меня основная задача – полностью унифицировать эти отрывки кода и сделать из них полноценную систему управления и автоматизации, поэтому, эти вот отрывки сами по себе уже никакой ценности не несутShort Read more…
Задачка на вечер: Дано: задание, которое нужно выполнять в заданные промежутки времени, модуль Python schedule. Задача: запускать одну и ту же задачу с разными значениями offset раз в 10 сек, так, чтобы 0ffset=119 запускался в 10 сек от начала каждой минуты, offset=219 на 20й секунде каждой минуты и так далее. Все что пока смог сделать – заставить выполняться задачу каждую 10ю секунду, НО! это грозит тем, что каждые 10 сек в очередь добавляется каждая след. задача, так что может выполняться все куда чаще, чем раз в 10 сек. Есть идея – сделать задержку в 10 сек после каждого добавления задачи в очередь, тогда может получиться задержка в 20 сек, потом выполнение подряд нескольких задач, и снова 20 сек задержки. СломалShort Read more…
Как работать с REST API Confluence. Eng О чем этот топик? Структура API в системе Confluence. Объекты, файлы, статьи, родство и проч. Формирование запроса(адреса) в API Confluence Открытие сессии и удержание её в памяти – ! Формирование заголовков при помощи модуля requests и – json ! Отправка файла, содержания файла, вики-разметки на сервер Confluence – ! Интерпретируем ответы от сервера Что такое Atlassian Confluence вы можете почитать здесь: https://www.atlassian.com/software/confluence https://ru.wikipedia.org/wiki/Confluence Кому нужен этот топик? Тем мученикам, которые хотят автоматизировать процесс написания/отправки документации в разработке. Тем мученикам, которые как и я, по очевидным примерам не могут разобраться в модуле requests касаемо работе с заголовками. Мне самому, чтобы не забыть свой “подвиг” и все его наработки, так как память имеет свойство “стираться”. В тот момент, когдаShort Read more…
Отседова: http://www.cyberciti.biz/faq/python-run-external-command-and-get-output/ The basic syntax is: import subprocess subprocess.call(“command-name-here”) subprocess.call([“/path/to/command”, “arg1”, “-arg2”]) Run ping command to send ICMP ECHO_REQUEST packets to www.cyberciti.biz: #!/usr/bin/python import subprocess subprocess.call([“ping”, “-c 2”, “www.cyberciti.biz”]) Свой вариант: C:\Python34>python.exe Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32 Type “help”, “copyright”, “credits” or “license” for more information. >>> import subprocess >>> subprocess.call([“ping”, “-t”, “8.8.8.8”]) Pinging 8.8.8.8 with 32 bytes of data: Reply from 8.8.8.8: bytes=32 time=49ms TTL=43 Reply from 8.8.8.8: bytes=32 time=42ms TTL=43 Reply from 8.8.8.8: bytes=32 time=42ms TTL=43 Reply from 8.8.8.8: bytes=32 time=42ms TTL=43 Reply from 8.8.8.8: bytes=32 time=43ms TTL=43 Reply from 8.8.8.8: bytes=32 time=42ms TTL=43 Reply from 8.8.8.8: bytes=32 time=42ms TTL=43 Reply from 8.8.8.8: bytes=32 time=42ms TTL=43 Ping statistics forShort Read more…
“Вождь Бот” это автоматизированная система ведения рубрик в сообществах и группах в социальных сетях “Вконтакте” и “Facebook” (частично). Над его разработкой трудится пока только один человек, поэтому многие новые функции будут еще появляться, а улучшение уже существующих может занимать много времени. У проекта пока даже нет веб-версии, которая могла бы служить центром управления этими функциями, поэтому их настройка пока происходит вручную, лично разработчиком и частично администратором группы, к которой система будет подключаться. Возможности системы “Вождь Бот” на данный момент следующие: Возможности Вождь Бота: Поздравление участников группы с днем рождения: https://vk.com/wall-46631810_451052 Прогнозы погоды: Стандартный прогноз на день: https://vk.com/wall-46631810_450842 “Угадай погоду”: https://vk.com/wall-46631810_451001 Публикация списка последних 100 забаненных пользователей: https://vk.com/wall-46631810_449891 Проверка наличия предложенных новостей в нескольких группах, и кол-во постов ужеShort Read more…
Task completed! I made a vkontakte Bot which delete all comments are not from group members! But I do not want to run it by cron, because it will SPAM all my system with cron emails. But I found resolution: make a worker.py allow worker to run delete scripts on time periods add worker as centos service have fun! Maybe later I’ll add more code, but now just for example I’ll show only worker and bash script: #!/usr/local/bin/python3 # coding=utf-8 from time import strftime, sleep import schedule from vk_del_comments import * from vk_del_comments_older import * import os pid = os.getpid() op = open(“/var/us.pid”,”w”) op.write(“%s” % pid) op.close() token = ” tk_owner_id = “-000000000” tk_group_id = “000000000” tk_domain = “group_domain” curr_date =Short Read more…
You must: Create application and take its id and secret. Make a GET request to send secret and id with needed scopes of access. Obtain TEMPORARY access token and refresh token (first lives about 3000 – 5000 sec, the second can probably live infinite) Use this access token to GET something through REST, check if this token is not expires already. You want to GET something ELSE? First check if your token is not expired, then if expired – use refresh token to get NEW TEMPORARY token. Do something else. Nice turn google! You are the best of masters of creating shitcode. Before starting real work on google API and my own project with Google Drive I’ll learn pythons “requests” perfectly,Short Read more…