rq 0.1.7 → 3.0.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/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
|