
?? Eugene
13.09.2018
19:54:00
хтмл + цсс

Иван
13.09.2018
19:54:21

Crypt
13.09.2018
19:54:33

Макс
13.09.2018
19:54:39

Google

?? Eugene
13.09.2018
19:54:45

Иван
13.09.2018
19:54:56

Макс
13.09.2018
19:55:16

Crypt
13.09.2018
19:55:18

Иван
13.09.2018
19:55:19
Что ты решил их из вима копировать...

?? Eugene
13.09.2018
19:55:34

Иван
13.09.2018
19:55:36
Так может быть это вообще строка?

Макс
13.09.2018
19:55:45
Понял)

Crypt
13.09.2018
19:55:51
нене, сохранял в бинарном формате

Иван
13.09.2018
19:55:52
А не бинарные данные?
Короче попробуй, но я бы так не делал)

Crypt
13.09.2018
19:57:39

Иван
13.09.2018
19:58:06

Google

Влад
13.09.2018
19:58:11

Crypt
13.09.2018
19:58:40

Stas
13.09.2018
19:58:44
ребят подскажите про multithreading Pool
мне посоветовали его использовать

Иван
13.09.2018
19:59:00
Был бы с++ - я бы ещё понял, там всякое выделение на стэке, все дела.

Stas
13.09.2018
19:59:26
def work(db_psname, parfile_dir):
os.environ["ORACLE_SID"] = db_psname
os.chdir(parfile_dir)
subprocess.Popen(shlex.split("impdp PARFILE=importDP_{db_psname}.par".format(db_psname=db_psname)))
# noinspection PyUnusedLocal
@api_request
def run_impdp(db_name, db_psname, pool, dump_dir):
return pool.apply_async(work, (db_psname, dump_dir))
MAX_PROCESS_COUNT = 4
pool = Pool(processes=MAX_PROCESS_COUNT)
суть в том что у меня то что запускается в subprocess.Popen
если посмотреть ps ax | grep impdp
висит всего 1 процесс
как я по дебажному логу вижу
работает каким то образом 2 процесса
но я же указываю processes=4
когда я в методе work
делал sleep(10) и subprocess.Popen(shplex.split("echo test"))
запускалось по 4 процесса

Artsiom
13.09.2018
20:02:12

Crypt
13.09.2018
20:02:14

Stas
13.09.2018
20:02:54
не стартует 4 процесса?

Google

Stas
13.09.2018
20:03:41
суть в том что у меня json, в котором 15 db_psname и мне надо для каждой запустить subprocess.Popen
по 4 параллельно

Crypt
13.09.2018
20:04:38
for`ом по джейсону и для каждого стартуй процесс через popen

Stas
13.09.2018
20:04:42
до этого я тупо запускал 4, записывал pidы в списке, в цикле проверял если нет pid.poll() то следующий вызывал

Crypt
13.09.2018
20:05:06
по идее пул должен сам понять сколько там запускать, но я не уверен

Stas
13.09.2018
20:05:36
щас пример накидаю на котором все сработало

Artsiom
13.09.2018
20:08:05

Crypt
13.09.2018
20:08:05

Stas
13.09.2018
20:10:13
from time import sleep
from multiprocessing.pool import Pool
import random
import subprocess
import shlex
def work(val):
subprocess.call(shlex.split("echo {}".format(val)))
sleep(10)
if __name__ == "__main__":
pool = Pool(processes=4)
test = [random.random() for i in xrange(10)]
for val in test:
pool.apply_async(work, (val,))
pool.close()
pool.join()
вот в таком случае в логе я вижу что все четко и запускается по 4 процесса
слип проходит и следующие 4


Stas
13.09.2018
20:12:28
ущет
кажется проблему понял
это модуль для ансибла и rhel
а там питон древнючий
MSG:
MODULE FAILURE
MODULE_STDOUT:
Traceback (most recent call last):
File "/tmp/ansible_u_jrti/ansible_module_impdp.py", line 77, in <module>
main()
File "/tmp/ansible_u_jrti/ansible_module_impdp.py", line 71, in main
result = load_dump(json.loads(module.params["db"]), module.params["dir"])
File "/tmp/ansible_u_jrti/ansible_module_impdp.py", line 53, in load_dump
result[db_psname] = pool.apply_async(work, (db_psname, dump_dir))
File "/usr/lib64/python2.6/multiprocessing/pool.py", line 190, in apply_async
assert self._state == RUN
AssertionError

Aragaer
13.09.2018
20:41:30
почему я каждый раз забываю порядок телодвижений для выкладывания модуля в pypi?

Eldar
13.09.2018
20:49:23

Google

Admin
ERROR: S client not available

Ирод Раковой
13.09.2018
20:55:25
С праздником.
Какой модуль лучше использовать для моего ?

Проксимов
13.09.2018
20:57:42

?? Eugene
13.09.2018
20:58:01

Alexander
13.09.2018
21:11:47
@dataclass (либо namedtuple) и набор функций (процедур) для работы с ними -- это антипаттерн (как здесь пишут: https://en.m.wikipedia.org/wiki/Anemic_domain_model) или норм?

Dmitri
13.09.2018
21:12:10

Alexander
13.09.2018
21:14:01
Поправил сообщение.

Denis
13.09.2018
21:24:13

Alexander
13.09.2018
21:41:28
Вопрос не про различие dataclass и namedtuple.
Больше контекста: есть пользователи (users), которые подписываются (subscription) на каналы (channels). Их нужно хранить в эластиксерче и отдавать/принимать данны в json (типа пользователи в канале, каналы пользователя, подписывать пользователя на канал и т.п.). Лучше сделать тупые датаклассы user, channel, subscription с отдельными процедурами по их обработке или делать классы с поведением (типа user.subscribe(channel) и т.п.)

.
13.09.2018
22:42:56
Ребята, руководство по selenium webdriver где почитать? В гугле много мусора, дайте прицел. Спасибо:)

Скрудж
13.09.2018
22:59:33

Sergey
13.09.2018
23:18:24
Привет! Подскажите, как из множества кортежей {(2,3), (2,4), (2,5), (3,4), (3,5), (4,5)} вытащить любые 2 непересекающихся кортежа? Например (2,3) и (4,5).

ivan
13.09.2018
23:28:23
Привет! Подскажите, как из множества кортежей {(2,3), (2,4), (2,5), (3,4), (3,5), (4,5)} вытащить любые 2 непересекающихся кортежа? Например (2,3) и (4,5).
Я так понимаю решение за О(n^2) не катит?

Sergey
13.09.2018
23:32:13
Предлагайте ). Хоть за что-то зацепиться.

ivan
13.09.2018
23:32:37
Ну если за o(n^2), то я хз
Какие тут проблему могут быть
for i in set:
for j in set:
if all(p not in i for p in j):
print(i, j)
break

Sergey
13.09.2018
23:36:52
Понял. Спасибо!

ivan
13.09.2018
23:36:56
Но это медленное и хуевое решение
Если б у тебя был list а не set
То можно за o(n*log(n))

Sergey
13.09.2018
23:38:37
Лист из кортежей? Можно.

Google

ivan
13.09.2018
23:39:00
У тебя в кортеже первое число всегда меньше второго?

Sergey
13.09.2018
23:39:09
Да

ivan
13.09.2018
23:41:54
list.sort(key=lambda a: a[0])
if not list[0][1] < list[len(list)-1][0]:
print('нету решения')
else:
print(list[0], list[len(list)-1])

Sergey
13.09.2018
23:44:16
Благодарю. Пойду перепиливать.

[̲̅i̲̅t̲̅j̲̅u̲̅n̲̅k̲̅y̲̅] ࢧ кибер-даос
14.09.2018
01:15:21
Что я делаю не так?
session.query(Polls).\
filter(Polls.id==poll_id).\
update({"no_count": no_count})
sqlalchemy.exc.InterfaceError: <exception str() failed>

Илья
14.09.2018
03:36:28
Pastebin.com для записей > 10 строк

[Anonymous]
14.09.2018
05:06:47
почему try не всегда задерживает ошибку?
2 скрипта параллельно работают с sqlite и он иногда занят(
try:
c = sqlite3.connect(database_file)
myCursor = c.cursor()
>>> myCursor.execute("UPDATE User SET cond = 'old'WHERE user_id = ?;", [(data[i][0])])
c.commit()
c.close()
except:
sprint('UPDATE except')
time.sleep(1)
c = sqlite3.connect(database_file)
myCursor = c.cursor()
myCursor.execute("UPDATE User SET cond = 'old'WHERE user_id = ?;", [(data[i][0])])
c.commit()
c.close()
UPDATE except
Exception in thread Thread-1:
>>> строка где ошибка
sqlite3.OperationalError: database is locked

Honor
14.09.2018
05:07:45
Екцепт в екцепте

[Anonymous]
14.09.2018
05:08:04