LINUX.ORG.RU

Запилил сервер выполняющий Python-скрипты

 , ,


1

1

https://github.com/abudnik/PythonServer
Зацените. PyServer запускается с параметрами как в описании README.
Для выполнения скрипта, его нужно послать на сервер с помощью утилиты PySender (как в примере).

Ответ на: комментарий от public

Просто сервер. Пока без поддержки протоколов. Можно апач-модуль в будущем прилипить, чтобы он отсылал скрипт на PyServer.

nerdogeek
() автор топика
Ответ на: комментарий от public

Нацелен на высокие нагрузки %). Как он в реале - нужно тестить.

nerdogeek
() автор топика

С Common.h надо что-то сделать. Странное, что у тебя линкер не начал ругаться или ты это инклудишь в одном месте?

Log.h: опять переменные внутри h'ника.

В .cpp'шниках куча global'ов. Хотя бы static'ами их сделай.

Наследование без виртуальных десктрукторов.

prctl не обернутый в ifdef'ы

socket_.async_read_some слишком низкоуровневая операция это точно тебе надо? обычно используют обертку async_read

PyServer.cpp: async_read -> mutex-lock -> async_write по-моему тут что-то не то

вот, это я нашел при быстром прочтении по диагонали

Reset ★★★★★
()
Ответ на: комментарий от Reset

Ok, пасиб. Но есть некоторые возражения:
Глобальные обернуты в namespace, поэтому норм. для линкера

prctl не обернутый в ifdef'ы

А можно поподробнее?

nerdogeek
() автор топика
Ответ на: комментарий от Reset

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

XoFfiCEr ★★☆☆
()
Ответ на: комментарий от nerdogeek

А можно поподробнее?

Ну это же Linux-only. Под FreeBSD просто не соберется.

Reset ★★★★★
()
Ответ на: комментарий от nerdogeek

Глобальные обернуты в namespace, поэтому норм. для линкера

В анонимный?

$ cat 1.h
namespace shit {
        int b = 10;
}

$ cat 1.cpp
#include "1.h"

$ cat 2.cpp
#include "1.h"

int main(){}

$ g++ 1.cpp 2.cpp
/tmp/ccmcJRnb.o:(.data+0x0): multiple definition of `shit::b'
/tmp/ccphxIzP.o:(.data+0x0): first defined here
collect2: ld returned 1 exit status
Reset ★★★★★
()
Ответ на: комментарий от Reset

Ясно. Поправлю. Компилировалось потому что это общий файл для разных программ, инклудилось только одним цппшником.

nerdogeek
() автор топика
Ответ на: комментарий от anonymous

Хорошая идея сделать поддержку разных языков в виде плагинов.
Буду теперь продолжать пилить «убийцу» Cocaine %)

nerdogeek
() автор топика
15 июля 2013 г.
Ответ на: комментарий от Reset

если добавить const

namespace shit { const int b = 10; }
то компилица

nerdogeek
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.