
Lev
16.06.2016
07:49:14
ну значит так тому и быть

Daniel
16.06.2016
07:49:18
ну или недоброй памяти EJB

Lev
16.06.2016
07:50:06
пойду тогда смотреть, есть ли обёртка на zmq или типа него.

Daniel
16.06.2016
07:50:39
есть очереди, есть

Google

Phil
16.06.2016
07:55:09
например? что посоветуешь?

Daniel
16.06.2016
07:55:51
я бы Виталия спросил. у меня в проектах пока очередей нет
виталий нам про nsq рассказывал как-то на митапе

cptn_foxmk
16.06.2016
07:56:54
есть ещё интересная nanomq

Viacheslav
16.06.2016
07:57:55
а https://github.com/vulcand/vulcand кто-нибудь использовал?

cptn_foxmk
16.06.2016
07:58:24
сорян, nanomsg: https://github.com/op/go-nanomsg

Dmitry
16.06.2016
07:58:43

Daniel
16.06.2016
07:58:58
вот кстати да
надо ее что ли попробовать

Ilnar
16.06.2016
07:59:12
кстати вот мне тоже интересно, есть написанный на go очередь персистентный?
т.е. с хранением на диске, что-то на уровне Kafka

Dmitry
16.06.2016
08:00:44
вот кстати да
я по ошибке сперва впилил NSQ
http://nsq.io/
она как раз гарантирует доставку, что не нужно в моем кейсе
хорошая аналитика у NSQ

Lev
16.06.2016
08:01:31
я гляну пока https://github.com/pebbe/zmq4

Google

Dmitry
16.06.2016
08:03:51

Roman
16.06.2016
08:04:02
Закопайте вы zmq

Daniel
16.06.2016
08:04:19
а вот кстати

Roman
16.06.2016
08:04:22
И никогда не трогайте это говно

Ilnar
16.06.2016
08:04:32
а NSQ поддерживает проигрывание с заданной позиции?

Daniel
16.06.2016
08:04:46
можешь в двух словах - пчему оно говно? мне как-то не довелось вляпаться до сих пор

Roman
16.06.2016
08:05:05

Lev
16.06.2016
08:05:47
странно. вроде промышленный проект на этом "говне" в виде средства доставки сообщений смастерили - работает неплохо, особых нареканий нет

Ilnar
16.06.2016
08:07:35
мне нужна очередь data queue, не task queue:
- персистентность
- at least once
- клиенты могут захотеть повторно выкачать сообщения, т.к. одни и те же данные обрабатываются многократно под разные цели. Т.е. нужно зранить для каждого клиента что он уже получил

Dmitry
16.06.2016
08:08:39

Ilnar
16.06.2016
08:08:48
- распределенное: данных терабайты в сутки
мне идеально подходит Kafka, но там свои особенности с GC жавы

Roman
16.06.2016
08:11:52
Вот прям в доке написано

Dmitry
16.06.2016
08:15:07

Roman
16.06.2016
08:17:15
можешь в двух словах - пчему оно говно? мне как-то не довелось вляпаться до сих пор
так вот, теперь могу рассказать детальнее. основая проблема с zmq - там by design нельзя узнать что происходит у тебя с сетью. в сочетании с большей частью паттернов это приводит к дедлокам. самый яркий пример - это req-rep(кажется, что на него прекрасно ложится запрос-ответ).
приложение посылает запрос, в этот момент сеточка падает(или просто сообщение теряется в случае транспортов без гарантии доставки) и зависает в ожидании отклика.
а отклика не будет, потому что либо запрос не дошёл, либо ответ.

Daniel
16.06.2016
08:50:46
а таймаутов нет?

Roman
16.06.2016
08:57:11
а таймаутов нет?
с 3.0 появились. но там предлагается использовать zmq.Poller, что в итоге не сильно проще обычных сокетов

Google

Мерлин
16.06.2016
09:51:01

Roman
16.06.2016
09:55:28

Мерлин
16.06.2016
09:55:41

Viacheslav
16.06.2016
13:43:19
https://github.com/beeker1121/goque
к вопросу об очередях)

Kirill
16.06.2016
13:45:46
хм, интересная штуковина, на первый взгляд

Nik
16.06.2016
20:02:31
народ, вопрос не потеме
можно на php выпольнить бинарь на той машине, на которой вертится веб сервер?
проблемы с тем, что бы нарисовать к своей софтине веб интерфейс, тем более с ldap авторизайией, пока видится более простым использовать готовые решния apache + php
но вопрос как прикрутить к моей консольной go утилите

Gennady
16.06.2016
20:03:53
http://php.net/manual/en/function.system.php
и остальные типа exec
вроде бы под апачом тоже должно работать, но я в пхп лет 9 не ходил, надо проверять

Alex
16.06.2016
20:05:21

Nik
16.06.2016
20:06:14
а кто умеет php, может поможет?
я его вижу второй раз в жизни
есть бинарь
выполняется ./kanti 79263333333 79850000000
все

Alex
16.06.2016
20:07:02
shell_exec ( "ls -la" );

Google

Nik
16.06.2016
20:07:03
то есть на пхп 2 поля и выполнить кнопку

Alex
16.06.2016
20:07:21
обратно вернет оутпут твоего бинарника или NULL
наверное можно еще саму команду перед тем, как передавать аргументом в shell_exec завернуть еще в escapeshellcmd()
чтобы враги не догадались

Nik
16.06.2016
20:09:01
аутпут даже не принципиален
круто но не обязательно

Alex
16.06.2016
20:09:56
$result = shell_exec ( 'kanti 79263333333 79850000000' );
все

Nik
16.06.2016
20:12:17
да уже вроде понял, что формы и кнопу надо прикруть на html
а потом вписывать пых

Admin
ERROR: S client not available

Nik
16.06.2016
20:12:37
но как по кнопке вызывать команду пыха
(господи, я слишком туп для веб интерфейсов)

Alex
16.06.2016
20:12:55
ну POST или GET
какой ответ ты ожидаешь)

Nik
16.06.2016
20:13:39
я вот хочу понять, это одной страницей будет или двумя

Alex
16.06.2016
20:14:59
первые 2 абзаца прочитай и все поймешь)
http://php.net/manual/ru/tutorial.forms.php

Nik
16.06.2016
20:15:23
не поверишь, туда же смотрю
я просто сходу не разглядел <form action="action.php" method="post">
теперьв рде понятно. сначала пост где забираю переменные, по сабмиту передаю их в пхп файл

Google

Alex
16.06.2016
20:16:52
файл с формой и обработчик может быть одним index.php
можно на себя же посылать, просто в коде делать проверку сначала, есть ли $_POST и есть ли в $_POST['name']
если нет, выводим шаблон и html с формой
если есть, то значит нажали кнопку и надо запустить твой бинарник
это упрощенно, но суть в этом

Nik
16.06.2016
20:19:48
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<?php echo '<p>Hello ';
echo $_SERVER['REMOTE_USER'];
echo "! </p>";
?>
<form action="index.php" method="post">
<p>nomer1: <input type="text" name="num1" /></p>
<p>nomer2: <input type="text" name="num2" /></p>
<p><input type="submit" /></p>
</form>
<?php echo '<p>Hello ';
$result = shell_exec ( '/tmp/kanti $_POST['num1'] $_POST['num2'] " );
echo '<p>Hello ';
echo $result;
echo "! </p>";
?>
</body>
</html>
хотя нет, не пашет..

Alex
16.06.2016
20:22:30
оно запустится 2 раза скорее всего
if ( isset( $_POST, $_POST['num1'], $_POST['num2'] ) ) {
$result = shell_exec ( '/tmp/kanti $_POST['num1'] $_POST['num2'] ";
}
вот так, только я надеюсь, у тебя там не общедоступный сервер, на который все подряд ломятся :D

Nik
16.06.2016
20:25:42
не, закрытый
<html>
<head>
<title>PHP Test</title>
</head>
<body>
<form action="index.php" method="post">
<p>nomer1: <input type="text" name="num1" /></p>
<p>nomer2: <input type="text" name="num2" /></p>
<p><input type="submit" /></p>
</form>
<?php
echo '<p>Hello ';
$result = shell_exec ( '/tmp/kanti "{$_POST['num1']}" "{$_POST['num2']}"' );
echo $result;
echo "! </p>";
?>
</body>
</html>
у меня оно валится, даже не запускается со строкой
$result = shell_exec ( '/tmp/kanti "{$_POST['num1']}" "{$_POST['num2']}"' );
if ( isset( ща добавлю
это наверно правильно

Alex
16.06.2016
20:33:17
если не заработает, пиши в приват, а то забанят тебя таким темпом тут ?

Igor ⛷
16.06.2016
20:33:34
канеш обвалится

Alex
16.06.2016
20:34:37
ну там переменные внутри одинарных кавычек не расскроются
но это мелочи, наверное)

Igor ⛷
16.06.2016
20:34:43
кавычки неправильные
shell_exec ("/tmp/kanti {$_POST['num1']} {$_POST['num2']}")