ahenk service

This commit is contained in:
İsmail Başaran 2016-02-01 17:00:34 +02:00
parent 3c217ff110
commit 3ccb1d1d05
10 changed files with 141 additions and 0 deletions

29
debian/postinst vendored Normal file
View file

@ -0,0 +1,29 @@
#!/bin/sh
# postinst script for ahenk
#
# see: dh_installdeb(1)
set -e
case "$1" in
configure)
systemctl --system daemon-reload
systemctl enable ahenk.service
update-rc.d ahenk defaults
/etc/init.d/ahenk start
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
exit 0

45
etc/init.d/ahenk Normal file
View file

@ -0,0 +1,45 @@
#! /bin/bash
### BEGIN INIT INFO
# Provides: ahenk
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Manages ahenk service.
# Description: Debian init script for the ahenk executables
# scheduler
### END INIT INFO
#
# Author: S Suleyman Arslan <sarslan@innova.com.tr>
#
# Activate the python virtual environment
# . /path_to_virtualenv/activate
case "$1" in
start)
echo "Starting server"
# Start the daemon
#python $AHENKDPATH start
systemctl start ahenk.service
;;
stop)
echo "Stopping server"
systemctl stop ahenk.service
;;
restart)
echo "Restarting server"
systemctl restart ahenk.service
;;
status)
echo "Server Status"
# Status of the daemon
systemctl status ahenk.service
;;
*)
# Refuse to do other stuff
echo "Usage: /etc/init.d/ahenk.sh {start|stop|restart|status}"
exit 1
;;
esac
exit 0

View file

@ -0,0 +1,12 @@
[Unit]
Description=Starts Ahenk at system startup
After=network.target
[Service]
Type=forking
ExecStart=python "/opt/ahenk/ahenkd.py start"
ExecStop=python "/opt/ahenk/ahenkd.py stop"
PIDFile=/var/run/ahenkd.pid
[Install]
WantedBy=multi-user.target

0
opt/ahenk/ahenkd.py Normal file
View file

View file

@ -0,0 +1,7 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author: İsmail BAŞARAN <ismail.basaran@tubitak.gov.tr> <basaran.ismaill@gmail.com>
import psutil
if __name__ == '__main__':

View file

@ -0,0 +1,34 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author: İsmail BAŞARAN <ismail.basaran@tubitak.gov.tr> <basaran.ismaill@gmail.com>
import imp,os
"""
class AbstractPlugin(object):
This is base class for plugins
def __init__(self, arg):
super(AbstrackPlugin, self).__init__()
self.arg = arg
"""
pluginFolder = '/home/ismail/devzone/workspace/LiderAhenk/ahenk/opt/ahenk/plugins'
mainModule = 'main'
def getPlugins():
plugins = []
possibleplugins = os.listdir(pluginFolder)
for i in possibleplugins:
location = os.path.join(pluginFolder, i)
if not os.path.isdir(location) or not mainModule + ".py" in os.listdir(location):
continue
info = imp.find_module(mainModule, [location])
plugins.append({"name": i, "info": info})
return plugins
def loadPlugin(plugin):
return imp.load_module(mainModule, *plugin["info"])
if __name__ == '__main__':
for i in getPlugins():
print("Loading plugin " + i["name"])
plugin = loadPlugin(i)
plugin.run("tabisi")

View file

@ -0,0 +1,8 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author: İsmail BAŞARAN <ismail.basaran@tubitak.gov.tr> <basaran.ismaill@gmail.com>
def run(val):
print "oo yeah plugin1 " + str(val)

Binary file not shown.

View file

@ -0,0 +1,6 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author: İsmail BAŞARAN <ismail.basaran@tubitak.gov.tr> <basaran.ismaill@gmail.com>
def run(val):
print "oo yeah plugin2 " + str(val)

Binary file not shown.