часть информации в итоге забывается
а жизнь кажется хаотичной,
pool.apply_async
. Это плохая практика, потому что при выполнении кода в дочерних процессах могут быть исключения, которые стоит обрабатывать в основном процессе. Почитайте дополнительно документацию. Пример:import multiprocessing
def f():
raise ValueError()
with multiprocessing.Pool() as pool:
for _ in range(10):
pool.apply_async(f) # no errors
with multiprocessing.Pool() as pool:
for _ in range(10):
result = pool.apply_async(f)
result.get(timeout=1) # raise ValueError
MongoClient
или запросы .insert_one|.find_and_modify
бросает исключение, связанное с превышением какого-то таймаута (посмотрите необязательные аргументы mongo_client и исключения) def compute_digits_sum(number):
digits_sum = 0
while number:
digits_sum += number % 10
number = number // 10
return digits_sum
def compute_progression_digits_sum(number):
return sum(compute_digits_sum(i) for i in range(number + 1))
chrome_options = webdriver.ChromeOptions()
prefs = {"profile.default_content_setting_values.notifications" : 2}
chrome_options.add_experimental_option("prefs",prefs)
driver = webdriver.Chrome(chrome_options=chrome_options)
driver.switch_to.frame(webelement)
driver.switchTo.frame(0)
users.get()
и messages.send()
– это съедает время и память. Будье готовы переключиться на схему с очередью и отдельными рабочими. Приняли запрос, сохранили, отдали "ok". Другой процесс, рабочий, неспеша разбирает задачи из очереди, отправляет ответы. Стали популярнее, добавили рабочих с других серверов.browser.execute_script(s"return (function(webelement, text) {" +
"if (webelement.getAttribute('readonly') != undefined) return 'Cannot change value of readonly element';" +
"if (webelement.getAttribute('disabled') != undefined) return 'Cannot change value of disabled element';" +
"webelement.focus();" +
"var maxlength = webelement.getAttribute('maxlength') == null ? -1 : parseInt(webelement.getAttribute('maxlength'));" +
"webelement.value = " +
"maxlength == -1 ? text " +
": text.length <= maxlength ? text " +
": text.substring(0, maxlength);" +
"return null;" +
"})(arguments[0], arguments[1]);", element, text)
NAME
ncdu - NCurses Disk Usage
DESCRIPTION
ncdu (NCurses Disk Usage) is a curses-based version of the well-
known 'du', and provides a fast way to see what directories are
using your disk space.
kshnkvn@ubuntu-vm:~/Dropbox$ ls -lah