famoseagle-sweat_shop 1.2.0 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -12,7 +12,7 @@ begin
12
12
  s.homepage = "http://github.com/famoseagle/sweat-shop"
13
13
  s.description = "TODO"
14
14
  s.authors = ["Amos Elliston"]
15
- s.files = FileList["[A-Z]*", "install.rb", "{lib,test,config}/**/*"]
15
+ s.files = FileList["[A-Z]*", "install.rb", "{lib,test,config,script}/**/*"]
16
16
  s.add_dependency('famoseagle-carrot', '= 0.7.0')
17
17
  end
18
18
  rescue LoadError
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 1
3
- :minor: 2
3
+ :minor: 3
4
4
  :patch: 0
data/script/initd.sh ADDED
@@ -0,0 +1,108 @@
1
+ #!/bin/bash
2
+
3
+ # chkconfig: 345 80 20
4
+ # description: Sweatshop starts the sweatd daemon
5
+
6
+ # Source function library.
7
+ if [ -f /etc/init.d/functions ] ; then
8
+ . /etc/init.d/functions
9
+ elif [ -f /etc/rc.d/init.d/functions ] ; then
10
+ . /etc/rc.d/init.d/functions
11
+ else
12
+ exit 0
13
+ fi
14
+
15
+ DAEMON=/opt/current/script/sweatshop
16
+ NAME=sweatshop
17
+ PID_DIR=/opt/current/log
18
+ LOG_FILE=$PID_DIR/sweatshop.log
19
+ INSTANCES=3
20
+ #QUEUE_GROUPS=test
21
+ export RAILS_ENV=dev
22
+
23
+ [ -f /etc/sysconfig/${NAME} ] && . /etc/sysconfig/${NAME}
24
+
25
+
26
+ # Gracefully exit if the package has been removed.
27
+ if [ ! -x $DAEMON ]; then
28
+ echo "$DAEMON does not exist"
29
+ exit 0
30
+ fi;
31
+
32
+
33
+ function start() {
34
+ num=$1
35
+ pidfile=$PID_DIR/$NAME.$num.pid
36
+ echo $"Starting ${NAME}:${num} "
37
+ if [ -z $QUEUE_GROUPS ]; then
38
+ $DAEMON -d start --log-file $LOG_FILE --pid-file $pidfile
39
+ else
40
+ $DAEMON -d start --log-file $LOG_FILE --pid-file $pidfile --groups $QUEUE_GROUPS
41
+ fi
42
+ RETVAL=$?
43
+ [ $RETVAL -eq 0 ] && success || failure
44
+ echo
45
+ return $RETVAL
46
+ }
47
+
48
+ function stop() {
49
+ num=$1
50
+ pidfile=$PID_DIR/$NAME.$num.pid
51
+ echo $"Stopping ${NAME}:${num}: "
52
+ $DAEMON -d stop --log-file $LOG_FILE --pid-file $pidfile
53
+ RETVAL=$?
54
+ [ $RETVAL -eq 0 ] && success || failure
55
+ echo
56
+ return $RETVAL
57
+ }
58
+
59
+ function reload() {
60
+ num=$1
61
+ pidfile=$PID_DIR/$NAME.$num.pid
62
+ echo $"Reloading ${NAME}:${num}: "
63
+ $DAEMON -d reload --log-file $LOG_FILE --pid-file $pidfile
64
+ RETVAL=$?
65
+ [ $RETVAL -eq 0 ] && success || failure
66
+ echo
67
+ return $RETVAL
68
+ }
69
+
70
+ function zap() {
71
+ num=$1
72
+ pidfile=$PID_DIR/$NAME.$num.pid
73
+ rm -f $pidfile
74
+ }
75
+
76
+ function doAll() {
77
+ func=$1
78
+ ii=0
79
+ while [ "$ii" -lt $INSTANCES ] ; do
80
+ eval "$func $(($ii))"
81
+ ii=$(($ii + 1))
82
+ done
83
+ }
84
+
85
+ case "$1" in
86
+ start)
87
+ doAll start
88
+ ;;
89
+ stop)
90
+ doAll stop
91
+ ;;
92
+ restart)
93
+ doAll stop
94
+ sleep 1
95
+ doAll start
96
+ ;;
97
+ reload)
98
+ doAll reload
99
+ ;;
100
+ zap)
101
+ doAll zap
102
+ ;;
103
+ *)
104
+ echo "Usage: $0 {start|stop|restart|reload|zap}"
105
+ exit 1
106
+ esac
107
+
108
+ exit $RETVAL
data/script/kestrel ADDED
@@ -0,0 +1,93 @@
1
+ #!/bin/sh
2
+ #
3
+ # chkconfig: 345 80 20
4
+ # description: kestrel is a light-weight queue written in scala
5
+ #
6
+
7
+ # Source function library.
8
+ if [ -f /etc/init.d/functions ] ; then
9
+ . /etc/init.d/functions
10
+ elif [ -f /etc/rc.d/init.d/functions ] ; then
11
+ . /etc/rc.d/init.d/functions
12
+ else
13
+ exit 0
14
+ fi
15
+
16
+ prog=kestrel
17
+ USER=daemon
18
+ KESTREL_HOME=/opt/kestrel
19
+ VERSION=1.0
20
+ JAR=$KESTREL_HOME/kestrel-$VERSION.jar
21
+
22
+ if [ ! -r $JAR ]; then
23
+ echo "FAIL"
24
+ echo "*** jar missing - not starting"
25
+ exit 1
26
+ fi
27
+
28
+ PIDFILE=/var/run/${prog}.pid
29
+ LOCKFILE=/var/lock/subsys/$prog
30
+
31
+ HEAP_OPTS="-Xmx2048m -Xms1024m -XX:NewSize=256m"
32
+ JAVA_OPTS="-server -verbosegc -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC $HEAP_OPTS"
33
+
34
+ start() {
35
+ echo -n $"Starting $prog: "
36
+ java $JAVA_OPTS -jar $JAR > /var/log/$prog-startup.log 2>&1 &
37
+ RETVAL=$?
38
+ if [ $RETVAL -eq 0 ]; then
39
+ echo $! > $PIDFILE
40
+ success $"$prog startup"
41
+ touch $LOCKFILE
42
+ else
43
+ failure $"$prog startup"
44
+ fi
45
+ echo
46
+ return $RETVAL;
47
+ }
48
+
49
+ stop() {
50
+ echo -n $"Stopping $prog: "
51
+ if [ -f $PIDFILE ]; then
52
+ killproc -p $PIDFILE $prog
53
+ RETVAL=$?
54
+ if [ $RETVAL -eq 0 ]; then
55
+ rm -f $LOCKFILE
56
+ rm -f $PIDFILE
57
+ fi;
58
+ else
59
+ RETVAL=1
60
+ failure;
61
+ fi
62
+ echo
63
+ return $RETVAL;
64
+ }
65
+
66
+
67
+ case "$1" in
68
+ start)
69
+ start
70
+ ;;
71
+
72
+ stop)
73
+ stop
74
+ ;;
75
+
76
+ restart)
77
+ stop
78
+ start
79
+ ;;
80
+
81
+ condrestart)
82
+ if [ -f $LOCKFILE ]; then
83
+ stop
84
+ start
85
+ fi
86
+ ;;
87
+
88
+ *)
89
+ echo $"Usage: $0 {start|stop|restart|condrestart}"
90
+ exit 1
91
+ esac
92
+
93
+ exit $RETVAL
data/script/kestrel.sh ADDED
@@ -0,0 +1,93 @@
1
+ #!/bin/sh
2
+ #
3
+ # chkconfig: 345 80 20
4
+ # description: kestrel is a light-weight queue written in scala
5
+ #
6
+
7
+ # Source function library.
8
+ if [ -f /etc/init.d/functions ] ; then
9
+ . /etc/init.d/functions
10
+ elif [ -f /etc/rc.d/init.d/functions ] ; then
11
+ . /etc/rc.d/init.d/functions
12
+ else
13
+ exit 0
14
+ fi
15
+
16
+ prog=kestrel
17
+ USER=daemon
18
+ KESTREL_HOME=/opt/kestrel
19
+ VERSION=1.0
20
+ JAR=$KESTREL_HOME/kestrel-$VERSION.jar
21
+
22
+ if [ ! -r $JAR ]; then
23
+ echo "FAIL"
24
+ echo "*** jar missing - not starting"
25
+ exit 1
26
+ fi
27
+
28
+ PIDFILE=/var/run/${prog}.pid
29
+ LOCKFILE=/var/lock/subsys/$prog
30
+
31
+ HEAP_OPTS="-Xmx2048m -Xms1024m -XX:NewSize=256m"
32
+ JAVA_OPTS="-server -verbosegc -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC $HEAP_OPTS"
33
+
34
+ start() {
35
+ echo -n $"Starting $prog: "
36
+ java $JAVA_OPTS -jar $JAR > /var/log/$prog-startup.log 2>&1 &
37
+ RETVAL=$?
38
+ if [ $RETVAL -eq 0 ]; then
39
+ echo $! > $PIDFILE
40
+ success $"$prog startup"
41
+ touch $LOCKFILE
42
+ else
43
+ failure $"$prog startup"
44
+ fi
45
+ echo
46
+ return $RETVAL;
47
+ }
48
+
49
+ stop() {
50
+ echo -n $"Stopping $prog: "
51
+ if [ -f $PIDFILE ]; then
52
+ killproc -p $PIDFILE $prog
53
+ RETVAL=$?
54
+ if [ $RETVAL -eq 0 ]; then
55
+ rm -f $LOCKFILE
56
+ rm -f $PIDFILE
57
+ fi;
58
+ else
59
+ RETVAL=1
60
+ failure;
61
+ fi
62
+ echo
63
+ return $RETVAL;
64
+ }
65
+
66
+
67
+ case "$1" in
68
+ start)
69
+ start
70
+ ;;
71
+
72
+ stop)
73
+ stop
74
+ ;;
75
+
76
+ restart)
77
+ stop
78
+ start
79
+ ;;
80
+
81
+ condrestart)
82
+ if [ -f $LOCKFILE ]; then
83
+ stop
84
+ start
85
+ fi
86
+ ;;
87
+
88
+ *)
89
+ echo $"Usage: $0 {start|stop|restart|condrestart}"
90
+ exit 1
91
+ esac
92
+
93
+ exit $RETVAL
data/script/sweatshop ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ if ARGV.include?('-d')
4
+ ARGV.delete('-d')
5
+ ARGV.unshift('start') unless ARGV.detect{|a| ['start', 'restart'].include?(a)}
6
+
7
+ root = File.expand_path(File.dirname(__FILE__) + '/..')
8
+ ARGV << "--rails=#{root}"
9
+
10
+ system("ruby #{root}/vendor/gems/sweat_shop/lib/sweat_shop/sweatd.rb #{ARGV.join(' ')}")
11
+ exit $?.exitstatus
12
+ else
13
+ puts "Loading Rails..."
14
+ require File.dirname(__FILE__) + '/../config/environment'
15
+ puts "Listening for new tasks..."
16
+ SweatShop.do_all_tasks
17
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: famoseagle-sweat_shop
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amos Elliston
@@ -48,12 +48,17 @@ files:
48
48
  - lib/sweat_shop/metaid.rb
49
49
  - lib/sweat_shop/sweatd.rb
50
50
  - lib/sweat_shop/worker.rb
51
+ - script/initd.sh
52
+ - script/kestrel
53
+ - script/kestrel.sh
54
+ - script/sweatshop
51
55
  - test/hello_worker.rb
52
56
  - test/test_functional_worker.rb
53
57
  - test/test_helper.rb
54
58
  - test/test_sweatshop.rb
55
59
  has_rdoc: true
56
60
  homepage: http://github.com/famoseagle/sweat-shop
61
+ licenses:
57
62
  post_install_message:
58
63
  rdoc_options:
59
64
  - --charset=UTF-8
@@ -74,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
74
79
  requirements: []
75
80
 
76
81
  rubyforge_project:
77
- rubygems_version: 1.2.0
82
+ rubygems_version: 1.3.5
78
83
  signing_key:
79
84
  specification_version: 2
80
85
  summary: SweatShop is a simple asynchronous worker queue build on top of rabbitmq/ampq