rq 0.1.7 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/INSTALL +21 -0
- data/README +752 -190
- data/TODO +18 -11
- data/TUTORIAL +230 -0
- data/all/install.rb +127 -0
- data/all/install.sh +165 -0
- data/all/packages/INSTALL +5 -0
- data/all/packages/arrayfields-3.6.0.tgz +0 -0
- data/all/packages/lockfile-1.4.1.tgz +0 -0
- data/all/packages/posixlock-0.0.1.tgz +0 -0
- data/all/packages/ruby-1.8.6.tgz +0 -0
- data/all/packages/rubygems-0.9.2.tgz +0 -0
- data/all/packages/sqlite-2.8.15.tar.gz +0 -0
- data/all/packages/sqlite-ruby-1.3.1.tar.gz +0 -0
- data/bin/rq +830 -361
- data/bin/rq-3.0.0 +860 -0
- data/doc/classes/ARGV.html +134 -0
- data/doc/classes/ARGV.src/M000036.html +36 -0
- data/doc/classes/ARGV.src/M000037.html +25 -0
- data/doc/classes/OrderedHash.html +1043 -0
- data/doc/classes/OrderedHash.src/M000003.html +26 -0
- data/doc/classes/OrderedHash.src/M000004.html +31 -0
- data/doc/classes/OrderedHash.src/M000005.html +23 -0
- data/doc/classes/OrderedHash.src/M000006.html +23 -0
- data/doc/classes/OrderedHash.src/M000007.html +24 -0
- data/doc/classes/OrderedHash.src/M000009.html +24 -0
- data/doc/classes/OrderedHash.src/M000010.html +24 -0
- data/doc/classes/OrderedHash.src/M000011.html +24 -0
- data/doc/classes/OrderedHash.src/M000012.html +24 -0
- data/doc/classes/OrderedHash.src/M000013.html +24 -0
- data/doc/classes/OrderedHash.src/M000014.html +24 -0
- data/doc/classes/OrderedHash.src/M000016.html +26 -0
- data/doc/classes/OrderedHash.src/M000017.html +25 -0
- data/doc/classes/OrderedHash.src/M000018.html +23 -0
- data/doc/classes/OrderedHash.src/M000019.html +25 -0
- data/doc/classes/OrderedHash.src/M000020.html +23 -0
- data/doc/classes/OrderedHash.src/M000021.html +24 -0
- data/doc/classes/OrderedHash.src/M000022.html +24 -0
- data/doc/classes/OrderedHash.src/M000023.html +24 -0
- data/doc/classes/OrderedHash.src/M000024.html +29 -0
- data/doc/classes/OrderedHash.src/M000025.html +29 -0
- data/doc/classes/OrderedHash.src/M000026.html +24 -0
- data/doc/classes/OrderedHash.src/M000027.html +25 -0
- data/doc/classes/OrderedHash.src/M000028.html +23 -0
- data/doc/classes/OrderedHash.src/M000029.html +25 -0
- data/doc/classes/OrderedHash.src/M000030.html +24 -0
- data/doc/classes/OrderedHash.src/M000032.html +23 -0
- data/doc/classes/OrderedHash.src/M000033.html +25 -0
- data/doc/classes/OrderedHash.src/M000034.html +36 -0
- data/doc/classes/OrderedHash.src/M000035.html +23 -0
- data/doc/classes/RQ.html +647 -0
- data/doc/classes/RQ/Backer.html +240 -0
- data/doc/classes/RQ/Backer.src/M000121.html +31 -0
- data/doc/classes/RQ/ConfigFile.html +416 -0
- data/doc/classes/RQ/ConfigFile.src/M000100.html +34 -0
- data/doc/classes/RQ/ConfigFile.src/M000101.html +26 -0
- data/doc/classes/RQ/ConfigFile.src/M000102.html +33 -0
- data/doc/classes/RQ/ConfigFile.src/M000103.html +25 -0
- data/doc/classes/RQ/ConfigFile.src/M000104.html +34 -0
- data/doc/classes/RQ/ConfigFile.src/M000105.html +25 -0
- data/doc/classes/RQ/Configurator.html +249 -0
- data/doc/classes/RQ/Configurator.src/M000122.html +40 -0
- data/doc/classes/RQ/Creator.html +264 -0
- data/doc/classes/RQ/Creator.src/M000157.html +32 -0
- data/doc/classes/RQ/Cron.html +461 -0
- data/doc/classes/RQ/Deleter.html +259 -0
- data/doc/classes/RQ/Deleter.src/M000078.html +52 -0
- data/doc/classes/RQ/Executor.html +249 -0
- data/doc/classes/RQ/Executor.src/M000099.html +45 -0
- data/doc/classes/RQ/Feeder.html +1131 -0
- data/doc/classes/RQ/Feeder.src/M000079.html +67 -0
- data/doc/classes/RQ/Feeder.src/M000080.html +47 -0
- data/doc/classes/RQ/Feeder.src/M000081.html +98 -0
- data/doc/classes/RQ/Feeder.src/M000082.html +25 -0
- data/doc/classes/RQ/Feeder.src/M000083.html +30 -0
- data/doc/classes/RQ/Feeder.src/M000084.html +58 -0
- data/doc/classes/RQ/Feeder.src/M000085.html +37 -0
- data/doc/classes/RQ/Feeder.src/M000086.html +40 -0
- data/doc/classes/RQ/Feeder.src/M000087.html +37 -0
- data/doc/classes/RQ/Feeder.src/M000088.html +35 -0
- data/doc/classes/RQ/Feeder.src/M000089.html +47 -0
- data/doc/classes/RQ/Feeder.src/M000090.html +25 -0
- data/doc/classes/RQ/Feeder.src/M000091.html +78 -0
- data/doc/classes/RQ/Feeder.src/M000092.html +34 -0
- data/doc/classes/RQ/Feeder.src/M000093.html +36 -0
- data/doc/classes/RQ/Feeder.src/M000094.html +25 -0
- data/doc/classes/RQ/Feeder.src/M000095.html +27 -0
- data/doc/classes/RQ/IOViewer.html +256 -0
- data/doc/classes/RQ/Job.html +304 -0
- data/doc/classes/RQ/Job.src/M000168.html +26 -0
- data/doc/classes/RQ/Job.src/M000169.html +37 -0
- data/doc/classes/RQ/Job.src/M000170.html +23 -0
- data/doc/classes/RQ/Job/Methods.html +210 -0
- data/doc/classes/RQ/JobQueue.html +1780 -0
- data/doc/classes/RQ/JobQueue.src/M000176.html +31 -0
- data/doc/classes/RQ/JobQueue.src/M000177.html +34 -0
- data/doc/classes/RQ/JobQueue.src/M000178.html +60 -0
- data/doc/classes/RQ/JobQueue.src/M000179.html +63 -0
- data/doc/classes/RQ/JobQueue.src/M000180.html +73 -0
- data/doc/classes/RQ/JobQueue.src/M000181.html +217 -0
- data/doc/classes/RQ/JobQueue.src/M000182.html +50 -0
- data/doc/classes/RQ/JobQueue.src/M000183.html +83 -0
- data/doc/classes/RQ/JobQueue.src/M000184.html +25 -0
- data/doc/classes/RQ/JobQueue.src/M000185.html +83 -0
- data/doc/classes/RQ/JobQueue.src/M000186.html +28 -0
- data/doc/classes/RQ/JobQueue.src/M000187.html +26 -0
- data/doc/classes/RQ/JobQueue.src/M000188.html +26 -0
- data/doc/classes/RQ/JobQueue.src/M000189.html +32 -0
- data/doc/classes/RQ/JobQueue.src/M000190.html +30 -0
- data/doc/classes/RQ/JobQueue.src/M000191.html +37 -0
- data/doc/classes/RQ/JobQueue.src/M000192.html +36 -0
- data/doc/classes/RQ/JobQueue.src/M000193.html +25 -0
- data/doc/classes/RQ/JobQueue.src/M000194.html +25 -0
- data/doc/classes/RQ/JobQueue.src/M000195.html +25 -0
- data/doc/classes/RQ/JobQueue.src/M000196.html +25 -0
- data/doc/classes/RQ/JobQueue.src/M000197.html +25 -0
- data/doc/classes/RQ/JobQueue.src/M000198.html +73 -0
- data/doc/classes/RQ/JobQueue.src/M000199.html +25 -0
- data/doc/classes/RQ/JobQueue.src/M000200.html +38 -0
- data/doc/classes/RQ/JobQueue.src/M000201.html +28 -0
- data/doc/classes/RQ/JobQueue/Error.html +187 -0
- data/doc/classes/RQ/JobRunner.html +386 -0
- data/doc/classes/RQ/JobRunner.src/M000117.html +53 -0
- data/doc/classes/RQ/JobRunner.src/M000118.html +26 -0
- data/doc/classes/RQ/JobRunnerDaemon.html +590 -0
- data/doc/classes/RQ/JobRunnerDaemon.src/M000159.html +94 -0
- data/doc/classes/RQ/JobRunnerDaemon.src/M000160.html +27 -0
- data/doc/classes/RQ/JobRunnerDaemon.src/M000161.html +39 -0
- data/doc/classes/RQ/JobRunnerDaemon.src/M000162.html +27 -0
- data/doc/classes/RQ/JobRunnerDaemon.src/M000163.html +27 -0
- data/doc/classes/RQ/JobRunnerDaemon.src/M000164.html +28 -0
- data/doc/classes/RQ/JobRunnerDaemon.src/M000165.html +28 -0
- data/doc/classes/RQ/JobRunnerDaemon.src/M000166.html +37 -0
- data/doc/classes/RQ/JobRunnerDaemon.src/M000167.html +25 -0
- data/doc/classes/RQ/Lister.html +256 -0
- data/doc/classes/RQ/Lister.src/M000156.html +52 -0
- data/doc/classes/RQ/Locker.html +250 -0
- data/doc/classes/RQ/Locker.src/M000120.html +40 -0
- data/doc/classes/RQ/Logging.html +296 -0
- data/doc/classes/RQ/Logging.src/M000067.html +28 -0
- data/doc/classes/RQ/Logging/LogClassMethods.html +254 -0
- data/doc/classes/RQ/Logging/LogClassMethods.src/M000068.html +32 -0
- data/doc/classes/RQ/Logging/LogClassMethods.src/M000069.html +28 -0
- data/doc/classes/RQ/Logging/LogMethods.html +404 -0
- data/doc/classes/RQ/Logging/LogMethods.src/M000070.html +35 -0
- data/doc/classes/RQ/Logging/LogMethods.src/M000071.html +28 -0
- data/doc/classes/RQ/Logging/LogMethods.src/M000072.html +21 -0
- data/doc/classes/RQ/Logging/LogMethods.src/M000073.html +21 -0
- data/doc/classes/RQ/Logging/LogMethods.src/M000074.html +21 -0
- data/doc/classes/RQ/Logging/LogMethods.src/M000075.html +21 -0
- data/doc/classes/RQ/Logging/LogMethods.src/M000076.html +21 -0
- data/doc/classes/RQ/Logging/LogMethods.src/M000077.html +29 -0
- data/doc/classes/RQ/Logging/LoggerExt.html +194 -0
- data/doc/classes/RQ/Main.html +2110 -0
- data/doc/classes/RQ/MainHelper.html +607 -0
- data/doc/classes/RQ/MainHelper.src/M000171.html +33 -0
- data/doc/classes/RQ/MainHelper.src/M000172.html +32 -0
- data/doc/classes/RQ/MainHelper.src/M000173.html +44 -0
- data/doc/classes/RQ/OrderedAutoHash.html +258 -0
- data/doc/classes/RQ/OrderedAutoHash.src/M000205.html +25 -0
- data/doc/classes/RQ/OrderedAutoHash.src/M000206.html +25 -0
- data/doc/classes/RQ/QDB.html +1653 -0
- data/doc/classes/RQ/QDB.src/M000126.html +25 -0
- data/doc/classes/RQ/QDB.src/M000127.html +37 -0
- data/doc/classes/RQ/QDB.src/M000128.html +27 -0
- data/doc/classes/RQ/QDB.src/M000129.html +27 -0
- data/doc/classes/RQ/QDB.src/M000130.html +27 -0
- data/doc/classes/RQ/QDB.src/M000131.html +31 -0
- data/doc/classes/RQ/QDB.src/M000132.html +32 -0
- data/doc/classes/RQ/QDB.src/M000133.html +30 -0
- data/doc/classes/RQ/QDB.src/M000134.html +91 -0
- data/doc/classes/RQ/QDB.src/M000135.html +26 -0
- data/doc/classes/RQ/QDB.src/M000136.html +46 -0
- data/doc/classes/RQ/QDB.src/M000137.html +26 -0
- data/doc/classes/RQ/QDB.src/M000138.html +51 -0
- data/doc/classes/RQ/QDB.src/M000139.html +61 -0
- data/doc/classes/RQ/QDB.src/M000140.html +57 -0
- data/doc/classes/RQ/QDB.src/M000141.html +25 -0
- data/doc/classes/RQ/QDB.src/M000142.html +25 -0
- data/doc/classes/RQ/QDB.src/M000143.html +37 -0
- data/doc/classes/RQ/QDB.src/M000144.html +107 -0
- data/doc/classes/RQ/QDB.src/M000145.html +40 -0
- data/doc/classes/RQ/QDB.src/M000146.html +34 -0
- data/doc/classes/RQ/QDB.src/M000147.html +33 -0
- data/doc/classes/RQ/QDB.src/M000148.html +32 -0
- data/doc/classes/RQ/QDB.src/M000149.html +98 -0
- data/doc/classes/RQ/QDB.src/M000150.html +26 -0
- data/doc/classes/RQ/QDB.src/M000151.html +31 -0
- data/doc/classes/RQ/QDB.src/M000154.html +26 -0
- data/doc/classes/RQ/QDB/AbortedTransactionError.html +187 -0
- data/doc/classes/RQ/QDB/RollbackTransactionError.html +187 -0
- data/doc/classes/RQ/Querier.html +328 -0
- data/doc/classes/RQ/Querier.src/M000203.html +45 -0
- data/doc/classes/RQ/Querier.src/M000204.html +78 -0
- data/doc/classes/RQ/ReSubmitter.html +307 -0
- data/doc/classes/RQ/ReSubmitter.src/M000098.html +111 -0
- data/doc/classes/RQ/Recoverer.html +247 -0
- data/doc/classes/RQ/Refresher.html +346 -0
- data/doc/classes/RQ/Refresher.src/M000174.html +51 -0
- data/doc/classes/RQ/Refresher.src/M000175.html +44 -0
- data/doc/classes/RQ/Relayer.html +723 -0
- data/doc/classes/RQ/Relayer.src/M000106.html +91 -0
- data/doc/classes/RQ/Relayer.src/M000107.html +47 -0
- data/doc/classes/RQ/Relayer.src/M000108.html +46 -0
- data/doc/classes/RQ/Relayer.src/M000109.html +26 -0
- data/doc/classes/RQ/Relayer.src/M000110.html +46 -0
- data/doc/classes/RQ/Relayer.src/M000111.html +40 -0
- data/doc/classes/RQ/Relayer.src/M000112.html +37 -0
- data/doc/classes/RQ/Relayer.src/M000113.html +40 -0
- data/doc/classes/RQ/Relayer.src/M000114.html +27 -0
- data/doc/classes/RQ/Relayer.src/M000115.html +25 -0
- data/doc/classes/RQ/Relayer.src/M000116.html +38 -0
- data/doc/classes/RQ/Resource.html +187 -0
- data/doc/classes/RQ/ResourceManager.html +276 -0
- data/doc/classes/RQ/Rotater.html +324 -0
- data/doc/classes/RQ/Rotater.src/M000158.html +71 -0
- data/doc/classes/RQ/SleepCycle.html +322 -0
- data/doc/classes/RQ/SleepCycle.src/M000123.html +32 -0
- data/doc/classes/RQ/SleepCycle.src/M000124.html +27 -0
- data/doc/classes/RQ/SleepCycle.src/M000125.html +25 -0
- data/doc/classes/RQ/Snapshotter.html +250 -0
- data/doc/classes/RQ/Snapshotter.src/M000097.html +35 -0
- data/doc/classes/RQ/StatusLister.html +289 -0
- data/doc/classes/RQ/StatusLister.src/M000096.html +26 -0
- data/doc/classes/RQ/Submitter.html +319 -0
- data/doc/classes/RQ/Submitter.src/M000119.html +92 -0
- data/doc/classes/RQ/Toucher.html +384 -0
- data/doc/classes/RQ/Updater.html +304 -0
- data/doc/classes/RQ/Updater.src/M000202.html +97 -0
- data/doc/classes/RQ/Usage.html +346 -0
- data/doc/classes/RQ/Usage.src/M000038.html +29 -0
- data/doc/classes/RQ/Usage.src/M000039.html +72 -0
- data/doc/classes/RQ/Util.html +1043 -0
- data/doc/classes/RQ/Util.src/M000040.html +27 -0
- data/doc/classes/RQ/Util.src/M000041.html +26 -0
- data/doc/classes/RQ/Util.src/M000042.html +25 -0
- data/doc/classes/RQ/Util.src/M000043.html +25 -0
- data/doc/classes/RQ/Util.src/M000044.html +30 -0
- data/doc/classes/RQ/Util.src/M000045.html +25 -0
- data/doc/classes/RQ/Util.src/M000046.html +34 -0
- data/doc/classes/RQ/Util.src/M000047.html +31 -0
- data/doc/classes/RQ/Util.src/M000048.html +41 -0
- data/doc/classes/RQ/Util.src/M000049.html +27 -0
- data/doc/classes/RQ/Util.src/M000050.html +34 -0
- data/doc/classes/RQ/Util.src/M000051.html +28 -0
- data/doc/classes/RQ/Util.src/M000052.html +27 -0
- data/doc/classes/RQ/Util.src/M000053.html +31 -0
- data/doc/classes/RQ/Util.src/M000054.html +31 -0
- data/doc/classes/RQ/Util.src/M000055.html +31 -0
- data/doc/classes/RQ/Util.src/M000056.html +25 -0
- data/doc/classes/RQ/Util.src/M000057.html +25 -0
- data/doc/classes/RQ/Util.src/M000058.html +25 -0
- data/doc/classes/RQ/Util.src/M000059.html +25 -0
- data/doc/classes/RQ/Util.src/M000060.html +25 -0
- data/doc/classes/RQ/Util.src/M000061.html +27 -0
- data/doc/classes/RQ/Util.src/M000062.html +28 -0
- data/doc/classes/RQ/Util.src/M000063.html +39 -0
- data/doc/classes/RQ/Util.src/M000064.html +39 -0
- data/doc/classes/RQ/Util.src/M000065.html +31 -0
- data/doc/classes/RQ/Util.src/M000066.html +29 -0
- data/doc/classes/SQLite.html +120 -0
- data/doc/classes/SQLite/Database.html +546 -0
- data/doc/classes/SQLite/TypeTranslator.html +221 -0
- data/doc/created.rid +1 -0
- data/doc/dot/f_0.dot +14 -0
- data/doc/dot/f_0.jpg +0 -0
- data/doc/dot/f_1.dot +14 -0
- data/doc/dot/f_1.jpg +0 -0
- data/doc/dot/f_10.dot +802 -0
- data/doc/dot/f_10.jpg +0 -0
- data/doc/dot/f_11.dot +14 -0
- data/doc/dot/f_11.jpg +0 -0
- data/doc/dot/f_12.dot +802 -0
- data/doc/dot/f_12.jpg +0 -0
- data/doc/dot/f_13.dot +802 -0
- data/doc/dot/f_13.jpg +0 -0
- data/doc/dot/f_14.dot +802 -0
- data/doc/dot/f_14.jpg +0 -0
- data/doc/dot/f_15.dot +802 -0
- data/doc/dot/f_15.jpg +0 -0
- data/doc/dot/f_16.dot +802 -0
- data/doc/dot/f_16.jpg +0 -0
- data/doc/dot/f_17.dot +802 -0
- data/doc/dot/f_17.jpg +0 -0
- data/doc/dot/f_18.dot +14 -0
- data/doc/dot/f_18.jpg +0 -0
- data/doc/dot/f_19.dot +802 -0
- data/doc/dot/f_19.jpg +0 -0
- data/doc/dot/f_2.dot +14 -0
- data/doc/dot/f_2.jpg +0 -0
- data/doc/dot/f_20.dot +802 -0
- data/doc/dot/f_20.jpg +0 -0
- data/doc/dot/f_21.dot +802 -0
- data/doc/dot/f_21.jpg +0 -0
- data/doc/dot/f_22.dot +802 -0
- data/doc/dot/f_22.jpg +0 -0
- data/doc/dot/f_23.dot +802 -0
- data/doc/dot/f_23.jpg +0 -0
- data/doc/dot/f_24.dot +802 -0
- data/doc/dot/f_24.jpg +0 -0
- data/doc/dot/f_25.dot +817 -0
- data/doc/dot/f_25.jpg +0 -0
- data/doc/dot/f_26.dot +29 -0
- data/doc/dot/f_26.jpg +0 -0
- data/doc/dot/f_27.dot +802 -0
- data/doc/dot/f_27.jpg +0 -0
- data/doc/dot/f_28.dot +802 -0
- data/doc/dot/f_28.jpg +0 -0
- data/doc/dot/f_29.dot +802 -0
- data/doc/dot/f_29.jpg +0 -0
- data/doc/dot/f_3.dot +14 -0
- data/doc/dot/f_3.jpg +0 -0
- data/doc/dot/f_30.dot +802 -0
- data/doc/dot/f_30.jpg +0 -0
- data/doc/dot/f_31.dot +802 -0
- data/doc/dot/f_31.jpg +0 -0
- data/doc/dot/f_32.dot +802 -0
- data/doc/dot/f_32.jpg +0 -0
- data/doc/dot/f_33.dot +802 -0
- data/doc/dot/f_33.jpg +0 -0
- data/doc/dot/f_34.dot +802 -0
- data/doc/dot/f_34.jpg +0 -0
- data/doc/dot/f_35.dot +802 -0
- data/doc/dot/f_35.jpg +0 -0
- data/doc/dot/f_36.dot +802 -0
- data/doc/dot/f_36.jpg +0 -0
- data/doc/dot/f_37.dot +802 -0
- data/doc/dot/f_37.jpg +0 -0
- data/doc/dot/f_38.dot +54 -0
- data/doc/dot/f_38.jpg +0 -0
- data/doc/dot/f_39.dot +802 -0
- data/doc/dot/f_39.jpg +0 -0
- data/doc/dot/f_4.dot +802 -0
- data/doc/dot/f_4.jpg +0 -0
- data/doc/dot/f_40.dot +802 -0
- data/doc/dot/f_40.jpg +0 -0
- data/doc/dot/f_41.dot +802 -0
- data/doc/dot/f_41.jpg +0 -0
- data/doc/dot/f_42.dot +802 -0
- data/doc/dot/f_42.jpg +0 -0
- data/doc/dot/f_43.dot +802 -0
- data/doc/dot/f_43.jpg +0 -0
- data/doc/dot/f_44.dot +802 -0
- data/doc/dot/f_44.jpg +0 -0
- data/doc/dot/f_5.dot +802 -0
- data/doc/dot/f_5.jpg +0 -0
- data/doc/dot/f_6.dot +802 -0
- data/doc/dot/f_6.jpg +0 -0
- data/doc/dot/f_7.dot +802 -0
- data/doc/dot/f_7.jpg +0 -0
- data/doc/dot/f_8.dot +802 -0
- data/doc/dot/f_8.jpg +0 -0
- data/doc/dot/f_9.dot +802 -0
- data/doc/dot/f_9.jpg +0 -0
- data/doc/dot/m_10_0.dot +802 -0
- data/doc/dot/m_10_0.jpg +0 -0
- data/doc/dot/m_11_0.dot +734 -0
- data/doc/dot/m_11_0.jpg +0 -0
- data/doc/dot/m_12_0.dot +802 -0
- data/doc/dot/m_12_0.jpg +0 -0
- data/doc/dot/m_13_0.dot +802 -0
- data/doc/dot/m_13_0.jpg +0 -0
- data/doc/dot/m_14_0.dot +802 -0
- data/doc/dot/m_14_0.jpg +0 -0
- data/doc/dot/m_15_0.dot +802 -0
- data/doc/dot/m_15_0.jpg +0 -0
- data/doc/dot/m_16_0.dot +802 -0
- data/doc/dot/m_16_0.jpg +0 -0
- data/doc/dot/m_17_0.dot +802 -0
- data/doc/dot/m_17_0.jpg +0 -0
- data/doc/dot/m_18_0.dot +734 -0
- data/doc/dot/m_18_0.jpg +0 -0
- data/doc/dot/m_19_0.dot +802 -0
- data/doc/dot/m_19_0.jpg +0 -0
- data/doc/dot/m_20_0.dot +802 -0
- data/doc/dot/m_20_0.jpg +0 -0
- data/doc/dot/m_21_0.dot +802 -0
- data/doc/dot/m_21_0.jpg +0 -0
- data/doc/dot/m_22_0.dot +802 -0
- data/doc/dot/m_22_0.jpg +0 -0
- data/doc/dot/m_23_0.dot +802 -0
- data/doc/dot/m_23_0.jpg +0 -0
- data/doc/dot/m_24_0.dot +802 -0
- data/doc/dot/m_24_0.jpg +0 -0
- data/doc/dot/m_25_0.dot +802 -0
- data/doc/dot/m_25_0.jpg +0 -0
- data/doc/dot/m_26_0.dot +734 -0
- data/doc/dot/m_26_0.jpg +0 -0
- data/doc/dot/m_27_0.dot +802 -0
- data/doc/dot/m_27_0.jpg +0 -0
- data/doc/dot/m_28_0.dot +802 -0
- data/doc/dot/m_28_0.jpg +0 -0
- data/doc/dot/m_29_0.dot +802 -0
- data/doc/dot/m_29_0.jpg +0 -0
- data/doc/dot/m_30_0.dot +802 -0
- data/doc/dot/m_30_0.jpg +0 -0
- data/doc/dot/m_31_0.dot +802 -0
- data/doc/dot/m_31_0.jpg +0 -0
- data/doc/dot/m_32_0.dot +802 -0
- data/doc/dot/m_32_0.jpg +0 -0
- data/doc/dot/m_33_0.dot +802 -0
- data/doc/dot/m_33_0.jpg +0 -0
- data/doc/dot/m_34_0.dot +802 -0
- data/doc/dot/m_34_0.jpg +0 -0
- data/doc/dot/m_35_0.dot +802 -0
- data/doc/dot/m_35_0.jpg +0 -0
- data/doc/dot/m_36_0.dot +802 -0
- data/doc/dot/m_36_0.jpg +0 -0
- data/doc/dot/m_37_0.dot +802 -0
- data/doc/dot/m_37_0.jpg +0 -0
- data/doc/dot/m_38_0.dot +54 -0
- data/doc/dot/m_38_0.jpg +0 -0
- data/doc/dot/m_39_0.dot +802 -0
- data/doc/dot/m_39_0.jpg +0 -0
- data/doc/dot/m_40_0.dot +802 -0
- data/doc/dot/m_40_0.jpg +0 -0
- data/doc/dot/m_41_0.dot +802 -0
- data/doc/dot/m_41_0.jpg +0 -0
- data/doc/dot/m_42_0.dot +802 -0
- data/doc/dot/m_42_0.jpg +0 -0
- data/doc/dot/m_43_0.dot +802 -0
- data/doc/dot/m_43_0.jpg +0 -0
- data/doc/dot/m_44_0.dot +802 -0
- data/doc/dot/m_44_0.jpg +0 -0
- data/doc/dot/m_4_0.dot +802 -0
- data/doc/dot/m_4_0.jpg +0 -0
- data/doc/dot/m_5_0.dot +802 -0
- data/doc/dot/m_5_0.jpg +0 -0
- data/doc/dot/m_6_0.dot +802 -0
- data/doc/dot/m_6_0.jpg +0 -0
- data/doc/dot/m_7_0.dot +802 -0
- data/doc/dot/m_7_0.jpg +0 -0
- data/doc/dot/m_8_0.dot +802 -0
- data/doc/dot/m_8_0.jpg +0 -0
- data/doc/dot/m_9_0.dot +802 -0
- data/doc/dot/m_9_0.jpg +0 -0
- data/doc/files/DEPENDS.html +107 -0
- data/doc/files/HISTORY.html +316 -0
- data/doc/files/INSTALL.html +126 -0
- data/doc/files/README.html +1223 -0
- data/doc/files/TODO.html +148 -0
- data/doc/files/TUTORIAL.html +392 -0
- data/doc/files/VERSION.html +107 -0
- data/doc/files/bin/rq_rb.html +231 -0
- data/doc/files/install_rb.html +188 -0
- data/doc/files/install_rb.src/M000001.html +53 -0
- data/doc/files/install_rb.src/M000002.html +43 -0
- data/doc/files/lib/rq-1_0_0/backer_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/configfile_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/configurator_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/creator_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/defaultconfig_txt.html +110 -0
- data/doc/files/lib/rq-1_0_0/deleter_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/executor_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/feeder_rb.html +178 -0
- data/doc/files/lib/rq-1_0_0/job_rb.html +176 -0
- data/doc/files/lib/rq-1_0_0/jobqueue_rb.html +177 -0
- data/doc/files/lib/rq-1_0_0/jobrunner_rb.html +175 -0
- data/doc/files/lib/rq-1_0_0/jobrunnerdaemon_rb.html +179 -0
- data/doc/files/lib/rq-1_0_0/lister_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/locker_rb.html +175 -0
- data/doc/files/lib/rq-1_0_0/logging_rb.html +178 -0
- data/doc/files/lib/rq-1_0_0/mainhelper_rb.html +175 -0
- data/doc/files/lib/rq-1_0_0/qdb_rb.html +177 -0
- data/doc/files/lib/rq-1_0_0/querier_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/refresher_rb.html +167 -0
- data/doc/files/lib/rq-1_0_0/relayer_rb.html +178 -0
- data/doc/files/lib/rq-1_0_0/sleepcycle_rb.html +167 -0
- data/doc/files/lib/rq-1_0_0/snapshotter_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/statuslister_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/submitter_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/updater_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/usage_rb.html +174 -0
- data/doc/files/lib/rq-1_0_0/util_rb.html +176 -0
- data/doc/files/lib/rq-2_0_0/backer_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/configfile_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/configurator_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/creator_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/defaultconfig_txt.html +110 -0
- data/doc/files/lib/rq-2_0_0/deleter_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/executor_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/feeder_rb.html +184 -0
- data/doc/files/lib/rq-2_0_0/job_rb.html +182 -0
- data/doc/files/lib/rq-2_0_0/jobqueue_rb.html +185 -0
- data/doc/files/lib/rq-2_0_0/jobrunner_rb.html +181 -0
- data/doc/files/lib/rq-2_0_0/jobrunnerdaemon_rb.html +185 -0
- data/doc/files/lib/rq-2_0_0/lister_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/locker_rb.html +181 -0
- data/doc/files/lib/rq-2_0_0/logging_rb.html +184 -0
- data/doc/files/lib/rq-2_0_0/mainhelper_rb.html +181 -0
- data/doc/files/lib/rq-2_0_0/orderedautohash_rb.html +182 -0
- data/doc/files/lib/rq-2_0_0/orderedhash_rb.html +138 -0
- data/doc/files/lib/rq-2_0_0/qdb_rb.html +184 -0
- data/doc/files/lib/rq-2_0_0/querier_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/refresher_rb.html +173 -0
- data/doc/files/lib/rq-2_0_0/relayer_rb.html +184 -0
- data/doc/files/lib/rq-2_0_0/rotater_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/sleepcycle_rb.html +173 -0
- data/doc/files/lib/rq-2_0_0/snapshotter_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/statuslister_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/submitter_rb.html +181 -0
- data/doc/files/lib/rq-2_0_0/updater_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/usage_rb.html +180 -0
- data/doc/files/lib/rq-2_0_0/util_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/backer_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/configfile_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/configurator_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/creator_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/defaultconfig_txt.html +110 -0
- data/doc/files/lib/rq-2_3_1/deleter_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/executor_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/feeder_rb.html +187 -0
- data/doc/files/lib/rq-2_3_1/job_rb.html +185 -0
- data/doc/files/lib/rq-2_3_1/jobqueue_rb.html +187 -0
- data/doc/files/lib/rq-2_3_1/jobrunner_rb.html +184 -0
- data/doc/files/lib/rq-2_3_1/jobrunnerdaemon_rb.html +187 -0
- data/doc/files/lib/rq-2_3_1/lister_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/locker_rb.html +183 -0
- data/doc/files/lib/rq-2_3_1/logging_rb.html +186 -0
- data/doc/files/lib/rq-2_3_1/mainhelper_rb.html +183 -0
- data/doc/files/lib/rq-2_3_1/orderedautohash_rb.html +184 -0
- data/doc/files/lib/rq-2_3_1/orderedhash_rb.html +138 -0
- data/doc/files/lib/rq-2_3_1/qdb_rb.html +188 -0
- data/doc/files/lib/rq-2_3_1/querier_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/refresher_rb.html +175 -0
- data/doc/files/lib/rq-2_3_1/relayer_rb.html +186 -0
- data/doc/files/lib/rq-2_3_1/resubmitter_rb.html +183 -0
- data/doc/files/lib/rq-2_3_1/rotater_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/sleepcycle_rb.html +175 -0
- data/doc/files/lib/rq-2_3_1/snapshotter_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/statuslister_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/submitter_rb.html +183 -0
- data/doc/files/lib/rq-2_3_1/updater_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/usage_rb.html +182 -0
- data/doc/files/lib/rq-2_3_1/util_rb.html +184 -0
- data/doc/files/lib/rq-2_3_1_rb.html +153 -0
- data/doc/files/lib/rq-2_3_2/backer_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/configfile_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/configurator_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/creator_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/defaultconfig_txt.html +110 -0
- data/doc/files/lib/rq-2_3_2/deleter_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/executor_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/feeder_rb.html +191 -0
- data/doc/files/lib/rq-2_3_2/ioviewer_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/job_rb.html +189 -0
- data/doc/files/lib/rq-2_3_2/jobqueue_rb.html +192 -0
- data/doc/files/lib/rq-2_3_2/jobrunner_rb.html +188 -0
- data/doc/files/lib/rq-2_3_2/jobrunnerdaemon_rb.html +191 -0
- data/doc/files/lib/rq-2_3_2/lister_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/locker_rb.html +187 -0
- data/doc/files/lib/rq-2_3_2/logging_rb.html +190 -0
- data/doc/files/lib/rq-2_3_2/mainhelper_rb.html +188 -0
- data/doc/files/lib/rq-2_3_2/orderedautohash_rb.html +188 -0
- data/doc/files/lib/rq-2_3_2/orderedhash_rb.html +138 -0
- data/doc/files/lib/rq-2_3_2/qdb_rb.html +193 -0
- data/doc/files/lib/rq-2_3_2/querier_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/recoverer_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/refresher_rb.html +179 -0
- data/doc/files/lib/rq-2_3_2/relayer_rb.html +190 -0
- data/doc/files/lib/rq-2_3_2/resubmitter_rb.html +187 -0
- data/doc/files/lib/rq-2_3_2/rotater_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/sleepcycle_rb.html +179 -0
- data/doc/files/lib/rq-2_3_2/snapshotter_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/statuslister_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/submitter_rb.html +187 -0
- data/doc/files/lib/rq-2_3_2/updater_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/usage_rb.html +186 -0
- data/doc/files/lib/rq-2_3_2/util_rb.html +188 -0
- data/doc/files/lib/rq-2_3_3/backer_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/configfile_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/configurator_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/creator_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/defaultconfig_txt.html +110 -0
- data/doc/files/lib/rq-2_3_3/deleter_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/executor_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/feeder_rb.html +191 -0
- data/doc/files/lib/rq-2_3_3/ioviewer_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/job_rb.html +189 -0
- data/doc/files/lib/rq-2_3_3/jobqueue_rb.html +192 -0
- data/doc/files/lib/rq-2_3_3/jobrunner_rb.html +188 -0
- data/doc/files/lib/rq-2_3_3/jobrunnerdaemon_rb.html +191 -0
- data/doc/files/lib/rq-2_3_3/lister_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/locker_rb.html +187 -0
- data/doc/files/lib/rq-2_3_3/logging_rb.html +190 -0
- data/doc/files/lib/rq-2_3_3/mainhelper_rb.html +188 -0
- data/doc/files/lib/rq-2_3_3/orderedautohash_rb.html +188 -0
- data/doc/files/lib/rq-2_3_3/orderedhash_rb.html +138 -0
- data/doc/files/lib/rq-2_3_3/qdb_rb.html +193 -0
- data/doc/files/lib/rq-2_3_3/querier_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/recoverer_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/refresher_rb.html +179 -0
- data/doc/files/lib/rq-2_3_3/relayer_rb.html +190 -0
- data/doc/files/lib/rq-2_3_3/resubmitter_rb.html +187 -0
- data/doc/files/lib/rq-2_3_3/rotater_rb.html +187 -0
- data/doc/files/lib/rq-2_3_3/sleepcycle_rb.html +179 -0
- data/doc/files/lib/rq-2_3_3/snapshotter_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/statuslister_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/submitter_rb.html +187 -0
- data/doc/files/lib/rq-2_3_3/updater_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/usage_rb.html +186 -0
- data/doc/files/lib/rq-2_3_3/util_rb.html +188 -0
- data/doc/files/lib/rq-3_0_0/backer_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/configfile_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/configurator_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/creator_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/cron_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/defaultconfig_txt.html +110 -0
- data/doc/files/lib/rq-3_0_0/deleter_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/executor_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/feeder_rb.html +199 -0
- data/doc/files/lib/rq-3_0_0/ioviewer_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/job_rb.html +197 -0
- data/doc/files/lib/rq-3_0_0/jobqueue_rb.html +200 -0
- data/doc/files/lib/rq-3_0_0/jobrunner_rb.html +196 -0
- data/doc/files/lib/rq-3_0_0/jobrunnerdaemon_rb.html +199 -0
- data/doc/files/lib/rq-3_0_0/lister_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/locker_rb.html +195 -0
- data/doc/files/lib/rq-3_0_0/logging_rb.html +198 -0
- data/doc/files/lib/rq-3_0_0/mainhelper_rb.html +196 -0
- data/doc/files/lib/rq-3_0_0/orderedautohash_rb.html +196 -0
- data/doc/files/lib/rq-3_0_0/orderedhash_rb.html +138 -0
- data/doc/files/lib/rq-3_0_0/qdb_rb.html +201 -0
- data/doc/files/lib/rq-3_0_0/querier_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/recoverer_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/refresher_rb.html +187 -0
- data/doc/files/lib/rq-3_0_0/relayer_rb.html +198 -0
- data/doc/files/lib/rq-3_0_0/resource_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/resourcemanager_rb.html +187 -0
- data/doc/files/lib/rq-3_0_0/resubmitter_rb.html +195 -0
- data/doc/files/lib/rq-3_0_0/rotater_rb.html +195 -0
- data/doc/files/lib/rq-3_0_0/sleepcycle_rb.html +187 -0
- data/doc/files/lib/rq-3_0_0/snapshotter_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/sqlite_rb.html +160 -0
- data/doc/files/lib/rq-3_0_0/statuslister_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/submitter_rb.html +195 -0
- data/doc/files/lib/rq-3_0_0/toucher_rb.html +195 -0
- data/doc/files/lib/rq-3_0_0/updater_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/usage_rb.html +194 -0
- data/doc/files/lib/rq-3_0_0/util_rb.html +196 -0
- data/doc/files/lib/rq_rb.html +244 -0
- data/doc/fr_class_index.html +73 -0
- data/doc/fr_file_index.html +71 -0
- data/doc/fr_method_index.html +323 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +172 -0
- data/extconf.rb +150 -0
- data/gemspec.rb +32 -0
- data/install.rb +75 -8
- data/lib/{rq-0.1.7.rb → rq-3.0.0.rb} +52 -10
- data/lib/{rq-0.1.7 → rq-3.0.0}/backer.rb +11 -7
- data/lib/{rq-0.1.7 → rq-3.0.0}/configfile.rb +21 -17
- data/lib/{rq-0.1.7 → rq-3.0.0}/configurator.rb +10 -6
- data/lib/rq-3.0.0/creator.rb +46 -0
- data/lib/rq-3.0.0/cron.rb +125 -0
- data/lib/{rq-0.1.7 → rq-3.0.0}/defaultconfig.txt +0 -0
- data/lib/rq-3.0.0/deleter.rb +51 -0
- data/lib/rq-3.0.0/executor.rb +40 -0
- data/lib/{rq-0.1.7 → rq-3.0.0}/feeder.rb +245 -91
- data/lib/rq-3.0.0/i686-linux/_sqlite.so +0 -0
- data/lib/rq-3.0.0/ioviewer.rb +48 -0
- data/lib/rq-3.0.0/job.rb +51 -0
- data/lib/rq-3.0.0/jobqueue.rb +899 -0
- data/lib/rq-3.0.0/jobrunner.rb +104 -0
- data/lib/{rq-0.1.7 → rq-3.0.0}/jobrunnerdaemon.rb +41 -27
- data/lib/rq-3.0.0/lister.rb +47 -0
- data/lib/rq-3.0.0/local/bin/sqlite +0 -0
- data/lib/rq-3.0.0/local/include/sqlite.h +868 -0
- data/lib/rq-3.0.0/local/lib/libsqlite.a +0 -0
- data/lib/rq-3.0.0/local/lib/libsqlite.la +35 -0
- data/lib/rq-3.0.0/local/lib/libsqlite.so +0 -0
- data/lib/rq-3.0.0/local/lib/libsqlite.so.0 +0 -0
- data/lib/rq-3.0.0/local/lib/libsqlite.so.0.8.6 +0 -0
- data/lib/rq-3.0.0/local/lib/pkgconfig/sqlite.pc +12 -0
- data/lib/{rq-0.1.7 → rq-3.0.0}/locker.rb +12 -6
- data/lib/{rq-0.1.7 → rq-3.0.0}/logging.rb +49 -42
- data/lib/rq-3.0.0/mainhelper.rb +184 -0
- data/lib/rq-3.0.0/orderedautohash.rb +39 -0
- data/lib/rq-3.0.0/orderedhash.rb +240 -0
- data/lib/{rq-0.1.7 → rq-3.0.0}/qdb.rb +183 -84
- data/lib/rq-3.0.0/querier.rb +98 -0
- data/lib/rq-3.0.0/recoverer.rb +28 -0
- data/lib/{rq-0.1.7 → rq-3.0.0}/refresher.rb +16 -8
- data/lib/rq-3.0.0/relayer.rb +283 -0
- data/lib/rq-3.0.0/resource.rb +22 -0
- data/lib/rq-3.0.0/resourcemanager.rb +40 -0
- data/lib/rq-3.0.0/resubmitter.rb +96 -0
- data/lib/rq-3.0.0/rotater.rb +98 -0
- data/lib/{rq-0.1.7 → rq-3.0.0}/sleepcycle.rb +14 -14
- data/lib/rq-3.0.0/snapshotter.rb +40 -0
- data/lib/rq-3.0.0/sqlite.rb +293 -0
- data/lib/rq-3.0.0/statuslister.rb +48 -0
- data/lib/rq-3.0.0/submitter.rb +109 -0
- data/lib/rq-3.0.0/toucher.rb +177 -0
- data/lib/rq-3.0.0/updater.rb +95 -0
- data/lib/rq-3.0.0/usage.rb +1157 -0
- data/lib/{rq-0.1.7 → rq-3.0.0}/util.rb +74 -56
- data/lib/rq.rb +52 -12
- data/rdoc.sh +17 -0
- data/rq +3 -1
- data/white_box/joblist +8 -0
- metadata +779 -96
- data/DEPENDS +0 -5
- data/HISTORY +0 -26
- data/VERSION +0 -1
- data/bin/rq-0.1.7 +0 -410
- data/lib/rq-0.1.7/creator.rb +0 -23
- data/lib/rq-0.1.7/deleter.rb +0 -39
- data/lib/rq-0.1.7/executor.rb +0 -41
- data/lib/rq-0.1.7/job.rb +0 -51
- data/lib/rq-0.1.7/jobqueue.rb +0 -432
- data/lib/rq-0.1.7/jobrunner.rb +0 -63
- data/lib/rq-0.1.7/lister.rb +0 -22
- data/lib/rq-0.1.7/mainhelper.rb +0 -53
- data/lib/rq-0.1.7/querier.rb +0 -33
- data/lib/rq-0.1.7/snapshotter.rb +0 -25
- data/lib/rq-0.1.7/statuslister.rb +0 -22
- data/lib/rq-0.1.7/submitter.rb +0 -90
- data/lib/rq-0.1.7/updater.rb +0 -95
- data/lib/rq-0.1.7/usage.rb +0 -609
- data/rdoc.cmd +0 -2
- data/rq.gemspec +0 -36
- data/rq.help +0 -552
data/TODO
CHANGED
@@ -1,13 +1,20 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
-
|
4
|
-
-
|
5
|
-
-
|
6
|
-
-
|
7
|
-
- rq relay mode (submit and track exit_status in local db)
|
8
|
-
- housekeeping - make backups of queue every so often, integrity_checks at
|
9
|
-
- scheduled intervals
|
2
|
+
|
3
|
+
- confine/constrain mechansim
|
4
|
+
- heartbeat to slave
|
5
|
+
- ls show elapsed time
|
6
|
+
- rq q 1234 234 bug???
|
10
7
|
- full boolean resource monitoring and resource requests
|
11
|
-
-
|
12
|
-
-
|
13
|
-
-
|
8
|
+
- pull out some infilter/outfilter classes for all the stdin/stdout parsing
|
9
|
+
- rq relay mode (submit and track exit_status in local db)
|
10
|
+
- config file configuration for feeder
|
11
|
+
- examples dir with shell commands/scripts
|
12
|
+
- db message queue to send commands to remote nodes - ttl issues here...
|
13
|
+
- consider/test tracking feeders in queue rather than using lock on local file?
|
14
|
+
- use nodes to periodically generate stats and cache them
|
15
|
+
|
16
|
+
X rotation bug when dest directory specified
|
17
|
+
X backoff lockd recovery time
|
18
|
+
X output for start/stop (include shush)
|
19
|
+
X .rq dir for everything (log, pidfile)
|
20
|
+
X cronify
|
data/TUTORIAL
ADDED
@@ -0,0 +1,230 @@
|
|
1
|
+
---
|
2
|
+
=== SYNOPSIS
|
3
|
+
---
|
4
|
+
|
5
|
+
rq is a tool for instantly building simple linux clusters based on the concept
|
6
|
+
of coordinated shared access to an nfs mounted priority job queue. the idea is
|
7
|
+
a simple one: one, or more, nodes take jobs from a priority queue, run them, and
|
8
|
+
return their status and other information to the queue. the priority queue
|
9
|
+
itself is made available to all the 'feeding' nodes by virtue of it being placed
|
10
|
+
on a globally visible nfs filesystem.
|
11
|
+
|
12
|
+
-----------
|
13
|
+
| priority |
|
14
|
+
| queue |
|
15
|
+
-----------
|
16
|
+
/ | \
|
17
|
+
/ | \
|
18
|
+
--------nfs-------
|
19
|
+
/ | \
|
20
|
+
/ | \
|
21
|
+
---------- ---------- ----------
|
22
|
+
| node_a | | node_b | | node_c |
|
23
|
+
---------- ---------- ----------
|
24
|
+
|
25
|
+
all feeding nodes are equal, idependent, and isolated. any node capable of
|
26
|
+
mounting the nfs filesystem may submit to the queue. so long as the nfs server
|
27
|
+
and one node are up - the cluster can continute processing jobs.
|
28
|
+
|
29
|
+
|
30
|
+
---
|
31
|
+
=== EXAMPLE INSTALL
|
32
|
+
---
|
33
|
+
|
34
|
+
download rq from http://raa.ruby-lang.org/project/rq
|
35
|
+
|
36
|
+
unpack rq-X.X.X.tgz
|
37
|
+
|
38
|
+
cd ./depends/
|
39
|
+
|
40
|
+
the ./depends/packages/ directory will contain ALL packages required to install
|
41
|
+
rq including ruby[www.ruby-lang.org]
|
42
|
+
|
43
|
+
the file ./depends/install.sh installs ALL required packages for ruby queue into
|
44
|
+
an nfs mounted directory. it is a simple script - feel free to read/edit.
|
45
|
+
|
46
|
+
installed packages will include:
|
47
|
+
|
48
|
+
* ruby
|
49
|
+
* sqlite
|
50
|
+
* sqlite-ruby
|
51
|
+
* arrayfields
|
52
|
+
* posixlock
|
53
|
+
* lockfile
|
54
|
+
* rq
|
55
|
+
|
56
|
+
the install.sh procedure is reccomended since
|
57
|
+
|
58
|
+
* a common nfs filesystem is required on which to store the queue anyhow
|
59
|
+
|
60
|
+
* installing all packages into this common nfs filesystem means no
|
61
|
+
software will be installed locally on any node which simplifies maintainance
|
62
|
+
and the addition of new nodes to the cluster.
|
63
|
+
|
64
|
+
* root privledges are not required for this technique
|
65
|
+
|
66
|
+
* this technique implies only two requirements for any node to join the cluster
|
67
|
+
* the nfs filesystem is visible to it
|
68
|
+
* a single crontab entry has been added
|
69
|
+
|
70
|
+
the user running ./depends/install.sh should have write permission (or sudo
|
71
|
+
write permission) to the /nfs mounted directory.
|
72
|
+
|
73
|
+
following are the steps for an install into the nfs mounted directory named
|
74
|
+
'/nfs'. absolutely NO packages or files will be installed outside this hierachy
|
75
|
+
so simply use 'rm -rf' to un-install.
|
76
|
+
|
77
|
+
tar xvfz rq-X.X.X.tgz
|
78
|
+
|
79
|
+
cd rq-X.X.X/
|
80
|
+
|
81
|
+
cd depends/
|
82
|
+
|
83
|
+
./install.sh /nfs
|
84
|
+
|
85
|
+
---
|
86
|
+
=== EXAMPLE SETUP
|
87
|
+
---
|
88
|
+
|
89
|
+
= path setup
|
90
|
+
|
91
|
+
the following instructions assume your PATH has been set appropriately on all
|
92
|
+
nodes. your path should be configured to include the bin directory of the nfs
|
93
|
+
prefix used in the install. eg:
|
94
|
+
|
95
|
+
export PATH=/nfs/bin/:$PATH
|
96
|
+
|
97
|
+
if this has been done correctly the output of
|
98
|
+
|
99
|
+
which rq
|
100
|
+
|
101
|
+
should report something like
|
102
|
+
|
103
|
+
/nfs/bin/rq
|
104
|
+
|
105
|
+
/nfs being the location you just installed into
|
106
|
+
|
107
|
+
|
108
|
+
= create the queue
|
109
|
+
|
110
|
+
you must create/initialize the queue structure. this should be done one time
|
111
|
+
only from any host
|
112
|
+
|
113
|
+
rq /nfs/queue create
|
114
|
+
|
115
|
+
|
116
|
+
= configure immortal feeders on all processing nodes
|
117
|
+
|
118
|
+
add crontab entries similar to below to keep immortal feeders alive on ALL
|
119
|
+
nodes. this will not start feeders every 15 mintues - it will only attempt to
|
120
|
+
start one every 15 minutes, failing silently if one is already running.
|
121
|
+
|
122
|
+
*/15 * * * * /nfs/bin/rq /nfs/queue start
|
123
|
+
|
124
|
+
obviously you will need to edit the path to rq, the path to the queue, and
|
125
|
+
possibly the log path.
|
126
|
+
|
127
|
+
this can done automatically simply by running
|
128
|
+
|
129
|
+
rq /nfs/queue cron start
|
130
|
+
|
131
|
+
essentially the crontab entry simply ensures that a feeder daemon is running on
|
132
|
+
a node at all times, even after a reboot. a majority of the time the cron entry
|
133
|
+
will do nothing - only when no daemon is running will it be able to generate a
|
134
|
+
pidfile and lock it in order to start feeding. one feeder per queue per host is
|
135
|
+
allowed by default.
|
136
|
+
|
137
|
+
if you are not quite ready to setup crontab entries on a dozen machines and want
|
138
|
+
to start a feeder from a terminal for debugging/testing purposes you might use
|
139
|
+
something like this in a separate terminal/host from the one you'll submit jobs
|
140
|
+
from:
|
141
|
+
|
142
|
+
/nfs/bin/rq /nfs/queue feed --min_sleep=2 --max_sleep=4
|
143
|
+
|
144
|
+
which will log all output to STDERR and poll at a random interval between
|
145
|
+
--min_sleep and --max_sleep. a slight diversion is required here to explain
|
146
|
+
min_sleep and max_sleep.
|
147
|
+
|
148
|
+
once a feeder finds the queue to be empty it will begin polling the queue
|
149
|
+
periodically to see if any new jobs have come in. min_sleep and max_sleep
|
150
|
+
define the lower and upper bound of the polling interval, which is actually
|
151
|
+
chosen at random to be between these two numbers for performance reasons.
|
152
|
+
|
153
|
+
_never_ would you use the polling interval shown above (min_sleep=2,
|
154
|
+
max_sleep=4) in a production environment, such a rapid interval would _only_ be
|
155
|
+
for debugging/testing.
|
156
|
+
|
157
|
+
as reference the defaults for min_sleep and max_sleep are 42 and 240
|
158
|
+
respectively, and this gives good responsiveness on a cluster of 12-20 machines.
|
159
|
+
you can determine how long a job would sit in the queue, on average, before
|
160
|
+
being noticed (assuming all nodes are not busy when the job is submitted) using
|
161
|
+
this formula
|
162
|
+
|
163
|
+
median_sleep = ((max_sleep - min_sleep) / 2) + min_sleep
|
164
|
+
|
165
|
+
wait = n_nodes / median_sleep
|
166
|
+
|
167
|
+
so, for example, if you use the default min_sleep and max_sleep for 10 feeding
|
168
|
+
nodes a job would sit in the queue for, on average, about 10 seconds before
|
169
|
+
being picked up.
|
170
|
+
|
171
|
+
it's very important to note all this talk of polling applies _only_ to nodes
|
172
|
+
which have found the queue emtpy and are checking back at a regular interval to
|
173
|
+
look for more work. while the queue is full of jobs each node simply works to
|
174
|
+
capacity to take jobs, runs them, and return them to the queue - so there is no
|
175
|
+
polling. in fact, it's best to consider the min_sleep and max_sleep options as
|
176
|
+
affecting how quickly the cluster as a whole will tackle a freshly loaded queue:
|
177
|
+
once the queue is loaded every node is 'too busy' to poll any longer.
|
178
|
+
|
179
|
+
one other option which should be mentioned here is the --max_feed, -f option.
|
180
|
+
this option simply determines the number of concurrent jobs rq will run at once.
|
181
|
+
the default value is 2 - therefore two jobs will be running simoultaneously on
|
182
|
+
each feeding node when the queue has been loaded with jobs. this command
|
183
|
+
|
184
|
+
/nfs/bin/rq /nfs/queue feed --min_sleep=2 --max_sleep=4 --max_feed=1
|
185
|
+
|
186
|
+
might be used in a terminal (logging to stderr) to watch rq in action. limiting
|
187
|
+
the number of feeders to 1 makes the output somewhat easier to understand.
|
188
|
+
however, unless your machines cannot handle more than one of the jobs you plan
|
189
|
+
to submit it's best to keep this number > 1 for production clusters.
|
190
|
+
|
191
|
+
|
192
|
+
---
|
193
|
+
=== EXAMPLE USAGE
|
194
|
+
---
|
195
|
+
|
196
|
+
|
197
|
+
= job submission
|
198
|
+
|
199
|
+
submit a command line job to the nfs mounted queue
|
200
|
+
|
201
|
+
rq /nfs/queue submit 'echo 42'
|
202
|
+
|
203
|
+
in this case the quoting is not needing but beware of shell expansion when
|
204
|
+
submitting jobs from the shell
|
205
|
+
|
206
|
+
submit a list of jobs from 'jobfile'. jobfile is simply a text file with one
|
207
|
+
command per line. blank lines and comments (#) are ignored.
|
208
|
+
|
209
|
+
rq /nfs/queue submit - < jobfile
|
210
|
+
|
211
|
+
= cluster status
|
212
|
+
|
213
|
+
check the status of your jobs (note that it may take cron a while to start
|
214
|
+
feeders depending on the interval used to maintain them in your crontab file)
|
215
|
+
|
216
|
+
rq /nfs/queue status
|
217
|
+
|
218
|
+
= where to go from here
|
219
|
+
|
220
|
+
for more info try
|
221
|
+
|
222
|
+
rq help
|
223
|
+
|
224
|
+
|
225
|
+
---
|
226
|
+
=== AUTHOR/ASSISTANCE/BUG REPORTS
|
227
|
+
---
|
228
|
+
|
229
|
+
ara.t.howard@noaa.gov
|
230
|
+
|
data/all/install.rb
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
class Installer
|
2
|
+
$VERBOSE = nil
|
3
|
+
getenv = lambda{|key| ENV[key] or abort("no ENV['#{ key }']")}
|
4
|
+
PREFIX = getenv["prefix"]
|
5
|
+
MAKE = getenv["make"] || getenv["MAKE"]
|
6
|
+
PACKAGEDIR = getenv["packagedir"]
|
7
|
+
BUILDDIR = getenv["builddir"]
|
8
|
+
SUDO = getenv["sudo"]
|
9
|
+
RUBY = getenv["ruby"]
|
10
|
+
LDFLAGS = getenv["LDFLAGS"]
|
11
|
+
CFLAGS = getenv["CFLAGS"]
|
12
|
+
|
13
|
+
INSTALL = "#{ PACKAGEDIR }/INSTALL"
|
14
|
+
|
15
|
+
def run
|
16
|
+
manifest = test ?e, INSTALL
|
17
|
+
|
18
|
+
packages =
|
19
|
+
if manifest
|
20
|
+
lines = IO.readlines INSTALL
|
21
|
+
lines.delete_if{|line| line.strip.empty? or line =~ %r/^\s*#/}
|
22
|
+
lines.map{|line| File.join(PACKAGEDIR, File.basename(line.strip))}
|
23
|
+
else
|
24
|
+
filelist "#{ PACKAGEDIR }/*.{tar.gz,tgz}"
|
25
|
+
end
|
26
|
+
|
27
|
+
packages.delete_if{|package| package.strip.empty?}
|
28
|
+
packages.delete_if{|package| File.basename(package) !~ %r/\.(tar\.gz|tgz)$/}
|
29
|
+
packages.delete_if{|package| File.basename(package) =~ %r/^ruby.*\.(tar\.gz|tgz)$/}
|
30
|
+
|
31
|
+
Dir.chdir(BUILDDIR){
|
32
|
+
unless manifest
|
33
|
+
packages = packages.sort_by do |package|
|
34
|
+
lines = `tar tfz #{ package }`.split %/\n/
|
35
|
+
line = lines.grep(%r/(install\.rb|extconf\.rb|configure)/).first
|
36
|
+
dirname, first, rest = line.split(File::SEPARATOR, 2)
|
37
|
+
type = first unless rest
|
38
|
+
abort "cannot determine type of <#{ package }>" unless type
|
39
|
+
case type
|
40
|
+
when /configure/
|
41
|
+
0
|
42
|
+
when /extconf.rb/
|
43
|
+
1
|
44
|
+
when /install.rb/
|
45
|
+
2
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
packages.each{|package| install_package package}
|
51
|
+
}
|
52
|
+
|
53
|
+
Dir.chdir(".."){
|
54
|
+
pwd = File.basename(Dir.pwd)
|
55
|
+
log = "#{ pwd }.log"
|
56
|
+
if test ?e, "install.rb"
|
57
|
+
puts "installing #{ pwd } (see #{ log } for details)..."
|
58
|
+
install_ruby_package log
|
59
|
+
end
|
60
|
+
if test ?e, "extconf.rb"
|
61
|
+
puts "installing #{ pwd } (see #{ log } for details)..."
|
62
|
+
install_ruby_extentsion log
|
63
|
+
end
|
64
|
+
if test ?e, "configure"
|
65
|
+
puts "installing #{ pwd } (see #{ log } for details)..."
|
66
|
+
install_src_package log
|
67
|
+
end
|
68
|
+
}
|
69
|
+
end
|
70
|
+
def install_package package
|
71
|
+
case package
|
72
|
+
when /(tgz|tar.gz)$/
|
73
|
+
install_from_tgz package
|
74
|
+
else
|
75
|
+
abort "can't install package <#{ package }>"
|
76
|
+
end
|
77
|
+
end
|
78
|
+
def install_from_tgz tgz
|
79
|
+
old = filelist '*'
|
80
|
+
spawn "tar xvfz #{ tgz } >/dev/null 2>&1"
|
81
|
+
new = filelist '*'
|
82
|
+
created = new - old
|
83
|
+
expected = File.join(BUILDDIR, File.basename(tgz).gsub(%r/(\.tar\.gz|\.tgz)$/,''))
|
84
|
+
dir = created.first || expected
|
85
|
+
log = "#{ BUILDDIR }/#{ File.basename tgz }.log"
|
86
|
+
|
87
|
+
Dir.chdir(dir){
|
88
|
+
puts "installing #{ tgz } (see #{ log } for details)..."
|
89
|
+
status = nil
|
90
|
+
if test ?e, 'install.rb'
|
91
|
+
status = install_ruby_package(log)
|
92
|
+
end
|
93
|
+
if test ?e, 'extconf.rb'
|
94
|
+
status = install_ruby_extentsion(log)
|
95
|
+
end
|
96
|
+
if test ?e, 'configure'
|
97
|
+
status = install_src_package(log)
|
98
|
+
end
|
99
|
+
if status
|
100
|
+
puts "success"
|
101
|
+
else
|
102
|
+
puts "failure"
|
103
|
+
exit 1
|
104
|
+
end
|
105
|
+
}
|
106
|
+
end
|
107
|
+
def install_ruby_package log
|
108
|
+
system "{ #{ SUDO } #{ RUBY } install.rb '--with-cflags=#{ CFLAGS }' '--with-ldflags=#{ LDFLAGS }'; } >#{ log } 2>&1" or
|
109
|
+
system "{ #{ SUDO } #{ RUBY } install.rb; } >#{ log } 2>&1"
|
110
|
+
end
|
111
|
+
def install_ruby_extentsion log
|
112
|
+
system "{ #{ RUBY } extconf.rb '--with-cflags=#{ CFLAGS }' '--with-ldflags=#{ LDFLAGS }' && stat [mM]akefile && #{ MAKE } && #{ SUDO } #{ MAKE } install; } >#{ log } 2>&1" or
|
113
|
+
system "{ #{ RUBY } extconf.rb && stat [mM]akefile && #{ MAKE } && #{ SUDO } #{ MAKE } install; } >#{ log } 2>&1"
|
114
|
+
end
|
115
|
+
def install_src_package log
|
116
|
+
#system "{ #{ MAKE } clean; } >/dev/null 2>&1"
|
117
|
+
system "{ ./configure --prefix=#{ PREFIX } && stat [mM]akefile && #{ MAKE } && #{ SUDO } #{ MAKE } install; } >#{ log } 2>&1"
|
118
|
+
end
|
119
|
+
def spawn cmd
|
120
|
+
system cmd or abort "cmd <#{ cmd }> failed"
|
121
|
+
end
|
122
|
+
def filelist glob
|
123
|
+
Dir.glob(glob).map{|path| File.expand_path path}.sort.uniq
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
Installer.new.run
|
data/all/install.sh
ADDED
@@ -0,0 +1,165 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
|
4
|
+
###############################################################################
|
5
|
+
#
|
6
|
+
# CONFIG SECTION - EDIT TO SUIT YOUR SITE
|
7
|
+
#
|
8
|
+
###############################################################################
|
9
|
+
#
|
10
|
+
# prefix : everything will be installed under this directory. it should be an
|
11
|
+
# absolute pathname.
|
12
|
+
#
|
13
|
+
export prefix="$1"
|
14
|
+
#
|
15
|
+
# libdir : libs will installed here
|
16
|
+
#
|
17
|
+
export libdir="${prefix}/lib"
|
18
|
+
#
|
19
|
+
# incdir : libs will installed here
|
20
|
+
#
|
21
|
+
export incdir="${prefix}/include"
|
22
|
+
#
|
23
|
+
# bindir : executables and scripts will installed here
|
24
|
+
#
|
25
|
+
export bindir="${prefix}/bin"
|
26
|
+
#
|
27
|
+
# sudo : set to "sudo" if you need this to install into prefix
|
28
|
+
#
|
29
|
+
export sudo=""
|
30
|
+
# export sudo="sudo"
|
31
|
+
#
|
32
|
+
# full path of dir containing packages to be installed
|
33
|
+
#
|
34
|
+
export packagedir="`pwd`/packages"
|
35
|
+
#
|
36
|
+
# full path of dir where packages will be built
|
37
|
+
#
|
38
|
+
export builddir="`pwd`/build"
|
39
|
+
#
|
40
|
+
# set this to true if you want to install ruby into prefix too. otherwise it
|
41
|
+
# automatically determines if ruby needs to be installed.
|
42
|
+
#
|
43
|
+
install_ruby=`test -f ${bindir}/ruby && echo false || echo true`
|
44
|
+
install_gem=`test -f ${bindir}/gem && echo false || echo true`
|
45
|
+
#
|
46
|
+
# determine ruby tar ball - this just picks up latest version
|
47
|
+
#
|
48
|
+
ruby_tgz=`ls ${packagedir}/ruby-*gz|sort|tail -1`
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
###############################################################################
|
53
|
+
#
|
54
|
+
# INSTALL SECTION - DO **NOT** EDIT
|
55
|
+
#
|
56
|
+
###############################################################################
|
57
|
+
#
|
58
|
+
# vars
|
59
|
+
#
|
60
|
+
div="==============================================================================="
|
61
|
+
line="-------------------------------------------------------------------------------"
|
62
|
+
usage="usage : $0 prefix"
|
63
|
+
#
|
64
|
+
# check/create prefix
|
65
|
+
#
|
66
|
+
if [[ ! -n "$prefix" ]]; then
|
67
|
+
printf "$usage\n"
|
68
|
+
exit 1
|
69
|
+
fi
|
70
|
+
if [[ ! -d "$prefix" ]]; then
|
71
|
+
$sudo mkdir -p $prefix
|
72
|
+
fi
|
73
|
+
if [[ ! -d "$prefix" ]]; then
|
74
|
+
"prefix <$prefix> does not exist and could not be created"
|
75
|
+
exit 1
|
76
|
+
fi
|
77
|
+
#
|
78
|
+
# info
|
79
|
+
#
|
80
|
+
printf "\n$div\n"
|
81
|
+
printf "CONFIG\n"
|
82
|
+
printf -- "$line\n"
|
83
|
+
printf "prefix <$prefix>\n"
|
84
|
+
printf "libdir <$libdir>\n"
|
85
|
+
printf "incdir <$incdir>\n"
|
86
|
+
printf "bindir <$bindir>\n"
|
87
|
+
printf "packagedir <$packagedir>\n"
|
88
|
+
printf "builddir <$builddir>\n"
|
89
|
+
printf -- "$line\n"
|
90
|
+
#
|
91
|
+
# important env settings for proper compilation
|
92
|
+
#
|
93
|
+
export LD_RUN_PATH="${libdir}"
|
94
|
+
export LD_LIBRARY_PATH="${libdir}"
|
95
|
+
export LDFLAGS="-L ${libdir}"
|
96
|
+
export CFLAGS="-I ${incdir}"
|
97
|
+
export PATH="${bindir}:$PATH"
|
98
|
+
#
|
99
|
+
# important aliases for proper complilation and installation
|
100
|
+
#
|
101
|
+
export make="env LD_RUN_PATH=${libdir} LD_LIBRARY_PATH=${libdir} make"
|
102
|
+
export MAKE="env LD_RUN_PATH=${libdir} LD_LIBRARY_PATH=${libdir} make"
|
103
|
+
export ruby="${bindir}/ruby"
|
104
|
+
#
|
105
|
+
# pre-install
|
106
|
+
#
|
107
|
+
cwd=`pwd`
|
108
|
+
pushd . >/dev/null
|
109
|
+
mkdir -p "$builddir"
|
110
|
+
if [[ $? != 0 ]];then
|
111
|
+
printf "COULD NOT CREATE BUILDIR <${builddir}>" 1>&2
|
112
|
+
popd >/dev/null
|
113
|
+
exit 1
|
114
|
+
fi
|
115
|
+
#
|
116
|
+
# install ruby iff needed
|
117
|
+
#
|
118
|
+
if [[ "$install_ruby" == *true* ]]; then
|
119
|
+
cd "$builddir"
|
120
|
+
log="${builddir}/`basename $ruby_tgz`.log"
|
121
|
+
printf "\n$div\n"
|
122
|
+
printf "installing $ruby_tgz (see $log for details)...\n"
|
123
|
+
|
124
|
+
(tar xvfz "$ruby_tgz" &&\
|
125
|
+
cd ruby* &&\
|
126
|
+
./configure "--prefix=${prefix}" &&\
|
127
|
+
$make &&\
|
128
|
+
$sudo $make install) > "$log" 2>&1
|
129
|
+
|
130
|
+
if [[ $? == 0 ]];then
|
131
|
+
printf "success\n"
|
132
|
+
else
|
133
|
+
printf "failure\n"
|
134
|
+
cd "$cwd"
|
135
|
+
exit 1
|
136
|
+
fi
|
137
|
+
printf -- "$line\n"
|
138
|
+
cd "$cwd"
|
139
|
+
fi
|
140
|
+
#
|
141
|
+
# bootstrap ruby to install everything else
|
142
|
+
#
|
143
|
+
$ruby ./install.rb || exit 1
|
144
|
+
#
|
145
|
+
# serve notice
|
146
|
+
#
|
147
|
+
printf -- "\n$div\n"
|
148
|
+
printf "ATTENTION\n"
|
149
|
+
|
150
|
+
printf -- "$line\n"
|
151
|
+
printf "IT APPEARS THAT INSTALLATION WAS COMPLETE AND SUCCESSFUL\n"
|
152
|
+
printf "\n"
|
153
|
+
printf "THE FOLLOWING ENVIRONMENT SETTINGS ARE RECCOMENDED WHEN RUNNING THE SOFTWARE\n"
|
154
|
+
printf " bash/sh:\n"
|
155
|
+
printf " export PATH=\"${bindir}:\$PATH\"\n"
|
156
|
+
printf " export LD_LIBRARY_PATH=\"${libdir}\"\n"
|
157
|
+
printf " tcsh/csh:\n"
|
158
|
+
printf " setenv PATH \"${bindir}:\$PATH\"\n"
|
159
|
+
printf " setenv LD_LIBRARY_PATH \"${libdir}\"\n"
|
160
|
+
printf "\n"
|
161
|
+
#
|
162
|
+
# post-install
|
163
|
+
#
|
164
|
+
popd >/dev/null
|
165
|
+
exit 0
|