mlinhard / ispncon Goto Github PK
View Code? Open in Web Editor NEWInfinispan Console Tool
Infinispan Console Tool
Change the name of the include command, it's misleading - " Include sounds more like you import some commands but don't necessarily execute. "
Batch - a good alternative, also making it sound more like data loading batch then a script execution.
LOW PRIORITY
add infnispan server management features so that we can easily startup servers from shell scripts using a common familiar syntax like:
ispncon server start
ispncon server stop
and using common configuration parameters like -h -p -c
I don't know to which extent I'll be able to add support for EDG in here
so far this will be only about standalone hotrod/memcached servers started with startServer.sh
clients should have socket timeouts configurable
python-memcached currently doesn't support this and will need to be replaced with custom version
python-memcached library currently has these limitations
https://bugs.launchpad.net/python-memcached/+bug/684689
https://bugs.launchpad.net/python-memcached/+bug/684690
fixed socket timeout to 3 seconds
for these reasons it needs to get replaced by patched version that will be shipped with ispncon
I didn't yet decide how to version ispncon so it doesn't work yet
but will need to fix this after I figure out some versioning schema
python 3 has different http client library so I expect some issues with REST client in there
The console doesn't support scripting constructs like sleep, for loop, etc... that could be executed as part of a batch.
Instead of adding these commands/constructs into ispncon, ispncon will be optimized for
creating shell scripts containing looping.
Problem with looping inside of a shell script is that the ispncon command that is run inside of a bash loop looses lot of it's context during execution.
sure there are command line arguments or ~/.ispncon files but these are not very nice solutions
also clients (hotrod, memcached, http) are created and destroyed upon each execution of a single line command.
I'm thinking about adding a support for a new command processing mode
where one special "executor" process will be started
client process will be started by something like
ispncon executor start
and will return pid of the process
it will create a named pipe /tmp/ispncon_executor_
then all other commands can be fed into the client process via an additional parameter -E
the client won't have to be recreated upon each command and also the context/config of the executor won't have to be
stored/restored upon each command invocation.
the executor will be killed by a command
ispncon quit -E (sending quit command to the executor>
(this requires implementing also a new command quit that will kill the current ispncon process)
There is a problem:
Traceback (most recent call last):
File "/home/mgencur/Java/infinispan/ispncon/bin/ispncon", line 5, in
console.main(sys.argv)
File "/usr/local/lib/python2.6/dist-packages/ispncon-0.8.1_SNAPSHOT-py2.6.egg/ispncon/console.py", line 325, in main
config = Config() # values here will be overriden by anything passed in commandline
File "/usr/local/lib/python2.6/dist-packages/ispncon-0.8.1_SNAPSHOT-py2.6.egg/ispncon/console.py", line 47, in init
self._override_with_user_config()
File "/usr/local/lib/python2.6/dist-packages/ispncon-0.8.1_SNAPSHOT-py2.6.egg/ispncon/console.py", line 27, in _override_with_user_config
cfgp = ConfigParser.ConfigParser(allow_no_value=True)
TypeError: init() got an unexpected keyword argument 'allow_no_value'
test the ispncon with python under windows and create a .bat launcher under /bin
currently data stored with ispncon using hotrod client can't be accessed from java client with remoteCache.get(key) because the bytearray key is encoded differently in python client - it's just a plain encoding of the text into byte array, wheres in java hotrod client it's a marshalled String value.
make a configuration option for hotrod client to use this kind of encoding as well... i.e. see how GenericJBossMarshaller works and replicate it.
Are there any special requirements for installation on a Mac?
Multiverse:Code manik $ pwd
/Users/manik/Code
Multiverse:Code manik $ cd ispncon/
Multiverse:ispncon manik [master]$ git pull
Already up-to-date.
Multiverse:ispncon manik [master]$ cd src/
Multiverse:src manik [master]$ sudo python setup.py install
Traceback (most recent call last):
File "setup.py", line 3, in <module>
from setuptools import setup
ImportError: No module named setuptools
Multiverse:src manik [master]$
Using Python 2.6.6.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.