famoseagle-sweat_shop 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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