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
@@ -0,0 +1,346 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Class: RQ::Refresher</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<h1>RQ::Refresher <sup class="type-note">(Class)</sup></h1>
|
51
|
+
<table class="header-table">
|
52
|
+
<tr class="top-aligned-row">
|
53
|
+
<td><strong>In:</strong></td>
|
54
|
+
<td>
|
55
|
+
<a href="../../files/lib/rq-3_0_0/refresher_rb.html">
|
56
|
+
lib/rq-3.0.0/refresher.rb
|
57
|
+
</a>
|
58
|
+
<br />
|
59
|
+
</td>
|
60
|
+
</tr>
|
61
|
+
|
62
|
+
<tr class="top-aligned-row">
|
63
|
+
<td><strong>Parent:</strong></td>
|
64
|
+
<td>
|
65
|
+
Object
|
66
|
+
</td>
|
67
|
+
</tr>
|
68
|
+
</table>
|
69
|
+
</div>
|
70
|
+
<!-- banner header -->
|
71
|
+
|
72
|
+
<div id="bodyContent">
|
73
|
+
|
74
|
+
|
75
|
+
<div id="contextContent">
|
76
|
+
<div id="diagram">
|
77
|
+
<map name="map">
|
78
|
+
<area shape="RECT" coords="1093,335,1176,287" href="MainHelper.html" alt="MainHelper">
|
79
|
+
<area shape="RECT" coords="67,453,152,405" href="StatusLister.html" alt="StatusLister">
|
80
|
+
<area shape="RECT" coords="215,453,303,405" href="Snapshotter.html" alt="Snapshotter">
|
81
|
+
<area shape="RECT" coords="363,453,451,405" href="ReSubmitter.html" alt="ReSubmitter">
|
82
|
+
<area shape="RECT" coords="504,453,576,405" href="Feeder.html" alt="Feeder">
|
83
|
+
<area shape="RECT" coords="632,453,704,405" href="Deleter.html" alt="Deleter">
|
84
|
+
<area shape="RECT" coords="763,453,835,405" href="Toucher.html" alt="Toucher">
|
85
|
+
<area shape="RECT" coords="891,453,963,405" href="Relayer.html" alt="Relayer">
|
86
|
+
<area shape="RECT" coords="1027,453,1099,405" href="Executor.html" alt="Executor">
|
87
|
+
<area shape="RECT" coords="1131,453,1205,405" href="Submitter.html" alt="Submitter">
|
88
|
+
<area shape="RECT" coords="1269,453,1341,405" href="Locker.html" alt="Locker">
|
89
|
+
<area shape="RECT" coords="1393,453,1468,405" href="IOViewer.html" alt="IOViewer">
|
90
|
+
<area shape="RECT" coords="1528,453,1600,405" href="Backer.html" alt="Backer">
|
91
|
+
<area shape="RECT" coords="1656,453,1728,405" href="Cron.html" alt="Cron">
|
92
|
+
<area shape="RECT" coords="1773,453,1861,405" href="Configurator.html" alt="Configurator">
|
93
|
+
<area shape="RECT" coords="1924,453,1996,405" href="Lister.html" alt="Lister">
|
94
|
+
<area shape="RECT" coords="2043,453,2115,405" href="Rotater.html" alt="Rotater">
|
95
|
+
<area shape="RECT" coords="2169,453,2241,405" href="Creator.html" alt="Creator">
|
96
|
+
<area shape="RECT" coords="2299,453,2379,405" href="Recoverer.html" alt="Recoverer">
|
97
|
+
<area shape="RECT" coords="2439,453,2511,405" href="Updater.html" alt="Updater">
|
98
|
+
<area shape="RECT" coords="2571,453,2643,405" href="Querier.html" alt="Querier">
|
99
|
+
<area shape="RECT" coords="1868,53,1940,5" href="../Hash.html" alt="::Hash">
|
100
|
+
<area shape="RECT" coords="1865,216,1943,168" href="ConfigFile.html" alt="ConfigFile">
|
101
|
+
<area shape="RECT" coords="1996,53,2089,5" href="../DRbUndumped.html" alt="DRbUndumped">
|
102
|
+
<area shape="RECT" coords="2001,216,2084,168" href="JobRunner.html" alt="JobRunner">
|
103
|
+
<area shape="RECT" coords="1463,335,1535,287" href="Main.html" alt="Main">
|
104
|
+
<area shape="RECT" coords="1213,335,1285,287" href="QDB.html" alt="QDB">
|
105
|
+
<area shape="RECT" coords="1323,335,1403,287" href="JobQueue.html" alt="JobQueue">
|
106
|
+
<area shape="RECT" coords="904,335,1027,287" href="JobRunnerDaemon.html" alt="JobRunnerDaemon">
|
107
|
+
<area shape="RECT" coords="2173,53,2245,5" href="../Array.html" alt="Array">
|
108
|
+
<area shape="RECT" coords="2159,216,2241,168" href="SleepCycle.html" alt="SleepCycle">
|
109
|
+
<area shape="RECT" coords="2273,216,2345,168" href="Job.html" alt="Job">
|
110
|
+
<area shape="RECT" coords="2272,53,2347,5" href="../ArrayFields.html" alt="ArrayFields">
|
111
|
+
<area shape="RECT" coords="2407,53,2505,5" href="../OrderedHash.html" alt="::OrderedHash">
|
112
|
+
<area shape="RECT" coords="2399,216,2513,168" href="OrderedAutoHash.html" alt="OrderedAutoHash">
|
113
|
+
<area shape="RECT" coords="925,53,1005,5" href="../LogMethods.html" alt="LogMethods">
|
114
|
+
<area shape="RECT" coords="2575,216,2652,168" href="Refresher.html" alt="Refresher">
|
115
|
+
<area shape="RECT" coords="1687,216,1804,168" href="ResourceManager.html" alt="ResourceManager">
|
116
|
+
<area shape="RECT" coords="1549,216,1624,168" href="Resource.html" alt="Resource">
|
117
|
+
<area shape="RECT" coords="2549,227,2677,135" href="../RQ.html" alt="lib/rq-3.0.0/refresher.rb">
|
118
|
+
<area shape="RECT" coords="173,464,313,372" href="../RQ.html" alt="lib/rq-3.0.0/snapshotter.rb">
|
119
|
+
<area shape="RECT" coords="597,464,715,372" href="../RQ.html" alt="lib/rq-3.0.0/deleter.rb">
|
120
|
+
<area shape="RECT" coords="472,464,587,372" href="../RQ.html" alt="lib/rq-3.0.0/feeder.rb">
|
121
|
+
<area shape="RECT" coords="1763,464,1903,372" href="../RQ.html" alt="lib/rq-3.0.0/configurator.rb">
|
122
|
+
<area shape="RECT" coords="1645,464,1752,372" href="../RQ.html" alt="lib/rq-3.0.0/cron.rb">
|
123
|
+
<area shape="RECT" coords="1312,345,1441,253" href="../RQ.html" alt="lib/rq-3.0.0/jobqueue.rb">
|
124
|
+
<area shape="RECT" coords="2032,464,2148,372" href="../RQ.html" alt="lib/rq-3.0.0/rotater.rb">
|
125
|
+
<area shape="RECT" coords="1517,464,1635,372" href="../RQ.html" alt="lib/rq-3.0.0/backer.rb">
|
126
|
+
<area shape="RECT" coords="725,464,845,372" href="../RQ.html" alt="lib/rq-3.0.0/toucher.rb">
|
127
|
+
<area shape="RECT" coords="1197,345,1301,253" href="../RQ.html" alt="lib/rq-3.0.0/qdb.rb">
|
128
|
+
<area shape="RECT" coords="1840,227,1967,135" href="../RQ.html" alt="lib/rq-3.0.0/configfile.rb">
|
129
|
+
<area shape="RECT" coords="1049,345,1187,253" href="../RQ.html" alt="lib/rq-3.0.0/mainhelper.rb">
|
130
|
+
<area shape="RECT" coords="1913,464,2021,372" href="../RQ.html" alt="lib/rq-3.0.0/lister.rb">
|
131
|
+
<area shape="RECT" coords="1452,345,1545,253" href="../RQ.html" alt="bin/rq.rb">
|
132
|
+
<area shape="RECT" coords="27,464,163,372" href="../RQ.html" alt="lib/rq-3.0.0/statuslister.rb">
|
133
|
+
<area shape="RECT" coords="2428,464,2549,372" href="../RQ.html" alt="lib/rq-3.0.0/updater.rb">
|
134
|
+
<area shape="RECT" coords="1977,227,2107,135" href="../RQ.html" alt="lib/rq-3.0.0/jobrunner.rb">
|
135
|
+
<area shape="RECT" coords="2263,227,2363,135" href="../RQ.html" alt="lib/rq-3.0.0/job.rb">
|
136
|
+
<area shape="RECT" coords="2159,464,2277,372" href="../RQ.html" alt="lib/rq-3.0.0/creator.rb">
|
137
|
+
<area shape="RECT" coords="2117,227,2252,135" href="../RQ.html" alt="lib/rq-3.0.0/sleepcycle.rb">
|
138
|
+
<area shape="RECT" coords="984,464,1109,372" href="../RQ.html" alt="lib/rq-3.0.0/executor.rb">
|
139
|
+
<area shape="RECT" coords="324,464,461,372" href="../RQ.html" alt="lib/rq-3.0.0/resubmitter.rb">
|
140
|
+
<area shape="RECT" coords="2373,227,2539,135" href="../RQ.html" alt="lib/rq-3.0.0/orderedautohash.rb">
|
141
|
+
<area shape="RECT" coords="1661,227,1829,135" href="../RQ.html" alt="lib/rq-3.0.0/resourcemanager.rb">
|
142
|
+
<area shape="RECT" coords="1524,227,1651,135" href="../RQ.html" alt="lib/rq-3.0.0/resource.rb">
|
143
|
+
<area shape="RECT" coords="869,345,1037,253" href="../RQ.html" alt="lib/rq-3.0.0/jobrunnerdaemon.rb">
|
144
|
+
<area shape="RECT" coords="2288,464,2417,372" href="../RQ.html" alt="lib/rq-3.0.0/recoverer.rb">
|
145
|
+
<area shape="RECT" coords="2560,464,2677,372" href="../RQ.html" alt="lib/rq-3.0.0/querier.rb">
|
146
|
+
<area shape="RECT" coords="1383,464,1507,372" href="../RQ.html" alt="lib/rq-3.0.0/ioviewer.rb">
|
147
|
+
<area shape="RECT" coords="1259,464,1372,372" href="../RQ.html" alt="lib/rq-3.0.0/locker.rb">
|
148
|
+
<area shape="RECT" coords="1120,464,1248,372" href="../RQ.html" alt="lib/rq-3.0.0/submitter.rb">
|
149
|
+
<area shape="RECT" coords="856,464,973,372" href="../RQ.html" alt="lib/rq-3.0.0/relayer.rb">
|
150
|
+
<area shape="RECT" coords="1420,204,1513,157" href="Usage.html" alt="Usage">
|
151
|
+
<area shape="RECT" coords="1316,204,1409,157" href="Util.html" alt="Util">
|
152
|
+
<area shape="RECT" coords="1188,204,1295,157" href="Logging/LogClassMethods.html" alt="LogClassMethods">
|
153
|
+
<area shape="RECT" coords="1084,204,1177,157" href="Logging/LoggerExt.html" alt="LoggerExt">
|
154
|
+
<area shape="RECT" coords="980,204,1073,157" href="Logging/LogMethods.html" alt="LogMethods">
|
155
|
+
<area shape="RECT" coords="953,215,1305,124" href="Logging.html" alt="Logging">
|
156
|
+
<area shape="RECT" coords="16,475,2688,91" href="../RQ.html" alt="RQ">
|
157
|
+
</map>
|
158
|
+
<img src="../../dot/m_44_0.jpg" usemap="#map" border=0 alt="Module: RQ">
|
159
|
+
</div>
|
160
|
+
|
161
|
+
<div id="description">
|
162
|
+
<p>
|
163
|
+
the job of the <a href="Refresher.html">Refresher</a> is to maintain a
|
164
|
+
<em>lease</em> on a file that has been locked. the method is simply to
|
165
|
+
touch the file at a certain interval thereby keeping it
|
166
|
+
‘fresh’. a separate process, vs. a thread, is used for this
|
167
|
+
task to eliminate any chance that the ruby interpreter might put all
|
168
|
+
threads to sleep for some blocking tasks, like fcntl based locks which are
|
169
|
+
used heavily in <a href="../RQ.html">RQ</a>, resulting in a a prematurely
|
170
|
+
stale lockfile
|
171
|
+
</p>
|
172
|
+
|
173
|
+
</div>
|
174
|
+
|
175
|
+
|
176
|
+
<div id="method-list">
|
177
|
+
<h2 class="section-bar">Methods</h2>
|
178
|
+
|
179
|
+
<div class="name-list">
|
180
|
+
<a href="#M000256">kill</a>
|
181
|
+
<a href="#M000255">new</a>
|
182
|
+
</div>
|
183
|
+
</div>
|
184
|
+
|
185
|
+
<div id="constants-list">
|
186
|
+
<h2 class="section-bar">Constants</h2>
|
187
|
+
|
188
|
+
<div class="name-list">
|
189
|
+
<table summary="Constants">
|
190
|
+
<tr class="top-aligned-row context-row">
|
191
|
+
<td class="context-item-name">SIGNALS</td>
|
192
|
+
<td>=</td>
|
193
|
+
<td class="context-item-value">%w(SIGTERM SIGINT SIGKILL)</td>
|
194
|
+
</tr>
|
195
|
+
</table>
|
196
|
+
</div>
|
197
|
+
</div>
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
<div id="attribute-list">
|
202
|
+
<h2 class="section-bar">Attributes</h2>
|
203
|
+
|
204
|
+
<div class="name-list">
|
205
|
+
<table>
|
206
|
+
<tr class="top-aligned-row context-row">
|
207
|
+
<td class="context-item-name">path</td>
|
208
|
+
<td class="context-item-value"> [R] </td>
|
209
|
+
<td class="context-item-desc"></td>
|
210
|
+
</tr>
|
211
|
+
<tr class="top-aligned-row context-row">
|
212
|
+
<td class="context-item-name">pid</td>
|
213
|
+
<td class="context-item-value"> [R] </td>
|
214
|
+
<td class="context-item-desc"></td>
|
215
|
+
</tr>
|
216
|
+
<tr class="top-aligned-row context-row">
|
217
|
+
<td class="context-item-name">refresh_rate</td>
|
218
|
+
<td class="context-item-value"> [R] </td>
|
219
|
+
<td class="context-item-desc"></td>
|
220
|
+
</tr>
|
221
|
+
</table>
|
222
|
+
</div>
|
223
|
+
</div>
|
224
|
+
|
225
|
+
|
226
|
+
</div>
|
227
|
+
|
228
|
+
|
229
|
+
|
230
|
+
<!-- if includes -->
|
231
|
+
|
232
|
+
|
233
|
+
<!-- if method_list -->
|
234
|
+
<div id="methods">
|
235
|
+
<h2 class="section-bar">Public Class methods</h2>
|
236
|
+
|
237
|
+
<div id="method-M000255" class="method-detail">
|
238
|
+
<a name="M000255"></a>
|
239
|
+
|
240
|
+
<div class="method-heading">
|
241
|
+
<a href="#M000255" class="method-signature">
|
242
|
+
<span class="method-name">new</span><span class="method-args">path, refresh_rate = 8</span>
|
243
|
+
</a>
|
244
|
+
</div>
|
245
|
+
|
246
|
+
<div class="method-description">
|
247
|
+
<p><a class="source-toggle" href="#"
|
248
|
+
onclick="toggleCode('M000255-source');return false;">[Source]</a></p>
|
249
|
+
<div class="method-source-code" id="M000255-source">
|
250
|
+
<pre>
|
251
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/refresher.rb, line 21</span>
|
252
|
+
21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">path</span>, <span class="ruby-identifier">refresh_rate</span> = <span class="ruby-value">8</span>
|
253
|
+
22: <span class="ruby-comment cmt">#--{{{</span>
|
254
|
+
23: <span class="ruby-ivar">@path</span> = <span class="ruby-identifier">path</span>
|
255
|
+
24: <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-identifier">stat</span> <span class="ruby-identifier">path</span>
|
256
|
+
25: <span class="ruby-ivar">@refresh_rate</span> = <span class="ruby-constant">Float</span> <span class="ruby-identifier">refresh_rate</span>
|
257
|
+
26: <span class="ruby-ivar">@pipe</span> = <span class="ruby-constant">IO</span><span class="ruby-operator">::</span><span class="ruby-identifier">pipe</span>
|
258
|
+
27: <span class="ruby-keyword kw">if</span>((<span class="ruby-ivar">@pid</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">fork</span>))
|
259
|
+
28: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">close</span>
|
260
|
+
29: <span class="ruby-ivar">@pipe</span> = <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">first</span>
|
261
|
+
30: <span class="ruby-ivar">@thread</span> = <span class="ruby-constant">Thread</span><span class="ruby-operator">::</span><span class="ruby-identifier">new</span>{<span class="ruby-identifier">loop</span>{<span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">gets</span>}}
|
262
|
+
31: <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">detach</span> <span class="ruby-ivar">@pid</span>
|
263
|
+
32: <span class="ruby-keyword kw">else</span>
|
264
|
+
33: <span class="ruby-keyword kw">begin</span>
|
265
|
+
34: <span class="ruby-identifier">pid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">pid</span>
|
266
|
+
35: <span class="ruby-identifier">ppid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">ppid</span>
|
267
|
+
36: <span class="ruby-identifier">$0</span> = <span class="ruby-node">"#{ path }.refresher.#{ pid }"</span>
|
268
|
+
37: <span class="ruby-constant">SIGNALS</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">sig</span><span class="ruby-operator">|</span> <span class="ruby-identifier">trap</span>(<span class="ruby-identifier">sig</span>){ <span class="ruby-identifier">raise</span> }}
|
269
|
+
38: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">close</span>
|
270
|
+
39: <span class="ruby-ivar">@pipe</span> = <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">last</span>
|
271
|
+
40: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
272
|
+
41: <span class="ruby-constant">FileUtils</span><span class="ruby-operator">::</span><span class="ruby-identifier">touch</span> <span class="ruby-ivar">@path</span>
|
273
|
+
42: <span class="ruby-identifier">sleep</span> <span class="ruby-ivar">@refresh_rate</span>
|
274
|
+
43: <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">kill</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">ppid</span>
|
275
|
+
44: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">pid</span>
|
276
|
+
45: <span class="ruby-keyword kw">end</span>
|
277
|
+
46: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
278
|
+
47: <span class="ruby-identifier">exit!</span>
|
279
|
+
48: <span class="ruby-keyword kw">end</span>
|
280
|
+
49: <span class="ruby-keyword kw">end</span>
|
281
|
+
50: <span class="ruby-comment cmt">#--}}}</span>
|
282
|
+
51: <span class="ruby-keyword kw">end</span>
|
283
|
+
</pre>
|
284
|
+
</div>
|
285
|
+
</div>
|
286
|
+
</div>
|
287
|
+
|
288
|
+
<h2 class="section-bar">Public Instance methods</h2>
|
289
|
+
|
290
|
+
<div id="method-M000256" class="method-detail">
|
291
|
+
<a name="M000256"></a>
|
292
|
+
|
293
|
+
<div class="method-heading">
|
294
|
+
<a href="#M000256" class="method-signature">
|
295
|
+
<span class="method-name">kill</span><span class="method-args">()</span>
|
296
|
+
</a>
|
297
|
+
</div>
|
298
|
+
|
299
|
+
<div class="method-description">
|
300
|
+
<p><a class="source-toggle" href="#"
|
301
|
+
onclick="toggleCode('M000256-source');return false;">[Source]</a></p>
|
302
|
+
<div class="method-source-code" id="M000256-source">
|
303
|
+
<pre>
|
304
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/refresher.rb, line 52</span>
|
305
|
+
52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">kill</span>
|
306
|
+
53: <span class="ruby-comment cmt">#--{{{</span>
|
307
|
+
54: <span class="ruby-keyword kw">begin</span>
|
308
|
+
55: <span class="ruby-ivar">@thread</span>.<span class="ruby-identifier">kill</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
309
|
+
56: <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
310
|
+
57: <span class="ruby-constant">SIGNALS</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">sig</span><span class="ruby-operator">|</span> <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">kill</span> <span class="ruby-identifier">sig</span>, <span class="ruby-ivar">@pid</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>}
|
311
|
+
58: <span class="ruby-keyword kw">ensure</span>
|
312
|
+
59: =begin
|
313
|
+
60: n = 42
|
314
|
+
61: dead = false
|
315
|
+
62: begin
|
316
|
+
63: n.times do |i|
|
317
|
+
64: Process::kill 0, @pid
|
318
|
+
65: sleep 1
|
319
|
+
66: end
|
320
|
+
67: rescue Errno::ESRCH
|
321
|
+
68: dead = true
|
322
|
+
69: end
|
323
|
+
70: raise "runaway refresher <#{ @pid }> must be killed!" unless dead
|
324
|
+
71: =end
|
325
|
+
72:
|
326
|
+
73: <span class="ruby-keyword kw">end</span>
|
327
|
+
74: <span class="ruby-comment cmt">#--}}}</span>
|
328
|
+
75: <span class="ruby-keyword kw">end</span>
|
329
|
+
</pre>
|
330
|
+
</div>
|
331
|
+
</div>
|
332
|
+
</div>
|
333
|
+
|
334
|
+
|
335
|
+
</div>
|
336
|
+
|
337
|
+
|
338
|
+
</div>
|
339
|
+
|
340
|
+
|
341
|
+
<div id="validator-badges">
|
342
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
343
|
+
</div>
|
344
|
+
|
345
|
+
</body>
|
346
|
+
</html>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<!--
|
7
|
+
|
8
|
+
new (RQ::Refresher)
|
9
|
+
|
10
|
+
-->
|
11
|
+
<html>
|
12
|
+
<head>
|
13
|
+
<title>new (RQ::Refresher)</title>
|
14
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
15
|
+
<link rel="stylesheet" href="http://www.FaerieMUD.org/stylesheets/rdoc.css" type="text/css" />
|
16
|
+
</head>
|
17
|
+
<body>
|
18
|
+
<pre><span class="ruby-comment cmt"># File lib/rq-2.3.1/refresher.rb, line 21</span>
|
19
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span> <span class="ruby-identifier">path</span>, <span class="ruby-identifier">refresh_rate</span> = <span class="ruby-value">8</span>
|
20
|
+
<span class="ruby-comment cmt">#--{{{</span>
|
21
|
+
<span class="ruby-ivar">@path</span> = <span class="ruby-identifier">path</span>
|
22
|
+
<span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-identifier">stat</span> <span class="ruby-identifier">path</span>
|
23
|
+
<span class="ruby-ivar">@refresh_rate</span> = <span class="ruby-constant">Float</span> <span class="ruby-identifier">refresh_rate</span>
|
24
|
+
<span class="ruby-ivar">@pipe</span> = <span class="ruby-constant">IO</span><span class="ruby-operator">::</span><span class="ruby-identifier">pipe</span>
|
25
|
+
<span class="ruby-keyword kw">if</span>((<span class="ruby-ivar">@pid</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">fork</span>))
|
26
|
+
<span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">close</span>
|
27
|
+
<span class="ruby-ivar">@pipe</span> = <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">first</span>
|
28
|
+
<span class="ruby-ivar">@thread</span> = <span class="ruby-constant">Thread</span><span class="ruby-operator">::</span><span class="ruby-identifier">new</span>{<span class="ruby-identifier">loop</span>{<span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">gets</span>}}
|
29
|
+
<span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">detach</span> <span class="ruby-ivar">@pid</span>
|
30
|
+
<span class="ruby-keyword kw">else</span>
|
31
|
+
<span class="ruby-keyword kw">begin</span>
|
32
|
+
<span class="ruby-identifier">pid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">pid</span>
|
33
|
+
<span class="ruby-identifier">ppid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">ppid</span>
|
34
|
+
<span class="ruby-identifier">$0</span> = <span class="ruby-node">"#{ path }.refresher.#{ pid }"</span>
|
35
|
+
<span class="ruby-constant">SIGNALS</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">sig</span><span class="ruby-operator">|</span> <span class="ruby-identifier">trap</span>(<span class="ruby-identifier">sig</span>){ <span class="ruby-identifier">raise</span> }}
|
36
|
+
<span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">close</span>
|
37
|
+
<span class="ruby-ivar">@pipe</span> = <span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">last</span>
|
38
|
+
<span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
39
|
+
<span class="ruby-constant">FileUtils</span><span class="ruby-operator">::</span><span class="ruby-identifier">touch</span> <span class="ruby-ivar">@path</span>
|
40
|
+
<span class="ruby-identifier">sleep</span> <span class="ruby-ivar">@refresh_rate</span>
|
41
|
+
<span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">kill</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">ppid</span>
|
42
|
+
<span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">pid</span>
|
43
|
+
<span class="ruby-keyword kw">end</span>
|
44
|
+
<span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
45
|
+
<span class="ruby-identifier">exit!</span>
|
46
|
+
<span class="ruby-keyword kw">end</span>
|
47
|
+
<span class="ruby-keyword kw">end</span>
|
48
|
+
<span class="ruby-comment cmt">#--}}}</span>
|
49
|
+
<span class="ruby-keyword kw">end</span></pre>
|
50
|
+
</body>
|
51
|
+
</html>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<!--
|
7
|
+
|
8
|
+
kill (RQ::Refresher)
|
9
|
+
|
10
|
+
-->
|
11
|
+
<html>
|
12
|
+
<head>
|
13
|
+
<title>kill (RQ::Refresher)</title>
|
14
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
15
|
+
<link rel="stylesheet" href="http://www.FaerieMUD.org/stylesheets/rdoc.css" type="text/css" />
|
16
|
+
</head>
|
17
|
+
<body>
|
18
|
+
<pre><span class="ruby-comment cmt"># File lib/rq-2.3.1/refresher.rb, line 52</span>
|
19
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">kill</span>
|
20
|
+
<span class="ruby-comment cmt">#--{{{</span>
|
21
|
+
<span class="ruby-keyword kw">begin</span>
|
22
|
+
<span class="ruby-ivar">@thread</span>.<span class="ruby-identifier">kill</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
23
|
+
<span class="ruby-ivar">@pipe</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
24
|
+
<span class="ruby-constant">SIGNALS</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">sig</span><span class="ruby-operator">|</span> <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">kill</span> <span class="ruby-identifier">sig</span>, <span class="ruby-ivar">@pid</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>}
|
25
|
+
<span class="ruby-keyword kw">ensure</span>
|
26
|
+
=begin
|
27
|
+
n = 42
|
28
|
+
dead = false
|
29
|
+
begin
|
30
|
+
n.times do |i|
|
31
|
+
Process::kill 0, @pid
|
32
|
+
sleep 1
|
33
|
+
end
|
34
|
+
rescue Errno::ESRCH
|
35
|
+
dead = true
|
36
|
+
end
|
37
|
+
raise "runaway refresher <#{ @pid }> must be killed!" unless dead
|
38
|
+
=end
|
39
|
+
|
40
|
+
<span class="ruby-keyword kw">end</span>
|
41
|
+
<span class="ruby-comment cmt">#--}}}</span>
|
42
|
+
<span class="ruby-keyword kw">end</span></pre>
|
43
|
+
</body>
|
44
|
+
</html>
|
@@ -0,0 +1,723 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Class: RQ::Relayer</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<h1>RQ::Relayer <sup class="type-note">(Class)</sup></h1>
|
51
|
+
<table class="header-table">
|
52
|
+
<tr class="top-aligned-row">
|
53
|
+
<td><strong>In:</strong></td>
|
54
|
+
<td>
|
55
|
+
<a href="../../files/lib/rq-3_0_0/relayer_rb.html">
|
56
|
+
lib/rq-3.0.0/relayer.rb
|
57
|
+
</a>
|
58
|
+
<br />
|
59
|
+
</td>
|
60
|
+
</tr>
|
61
|
+
|
62
|
+
<tr class="top-aligned-row">
|
63
|
+
<td><strong>Parent:</strong></td>
|
64
|
+
<td>
|
65
|
+
<a href="MainHelper.html">
|
66
|
+
MainHelper
|
67
|
+
</a>
|
68
|
+
</td>
|
69
|
+
</tr>
|
70
|
+
</table>
|
71
|
+
</div>
|
72
|
+
<!-- banner header -->
|
73
|
+
|
74
|
+
<div id="bodyContent">
|
75
|
+
|
76
|
+
|
77
|
+
<div id="contextContent">
|
78
|
+
<div id="diagram">
|
79
|
+
<map name="map">
|
80
|
+
<area shape="RECT" coords="1093,335,1176,287" href="MainHelper.html" alt="MainHelper">
|
81
|
+
<area shape="RECT" coords="67,453,152,405" href="StatusLister.html" alt="StatusLister">
|
82
|
+
<area shape="RECT" coords="215,453,303,405" href="Snapshotter.html" alt="Snapshotter">
|
83
|
+
<area shape="RECT" coords="363,453,451,405" href="ReSubmitter.html" alt="ReSubmitter">
|
84
|
+
<area shape="RECT" coords="504,453,576,405" href="Feeder.html" alt="Feeder">
|
85
|
+
<area shape="RECT" coords="632,453,704,405" href="Deleter.html" alt="Deleter">
|
86
|
+
<area shape="RECT" coords="763,453,835,405" href="Toucher.html" alt="Toucher">
|
87
|
+
<area shape="RECT" coords="891,453,963,405" href="Relayer.html" alt="Relayer">
|
88
|
+
<area shape="RECT" coords="1027,453,1099,405" href="Executor.html" alt="Executor">
|
89
|
+
<area shape="RECT" coords="1131,453,1205,405" href="Submitter.html" alt="Submitter">
|
90
|
+
<area shape="RECT" coords="1269,453,1341,405" href="Locker.html" alt="Locker">
|
91
|
+
<area shape="RECT" coords="1393,453,1468,405" href="IOViewer.html" alt="IOViewer">
|
92
|
+
<area shape="RECT" coords="1528,453,1600,405" href="Backer.html" alt="Backer">
|
93
|
+
<area shape="RECT" coords="1656,453,1728,405" href="Cron.html" alt="Cron">
|
94
|
+
<area shape="RECT" coords="1773,453,1861,405" href="Configurator.html" alt="Configurator">
|
95
|
+
<area shape="RECT" coords="1924,453,1996,405" href="Lister.html" alt="Lister">
|
96
|
+
<area shape="RECT" coords="2043,453,2115,405" href="Rotater.html" alt="Rotater">
|
97
|
+
<area shape="RECT" coords="2169,453,2241,405" href="Creator.html" alt="Creator">
|
98
|
+
<area shape="RECT" coords="2299,453,2379,405" href="Recoverer.html" alt="Recoverer">
|
99
|
+
<area shape="RECT" coords="2439,453,2511,405" href="Updater.html" alt="Updater">
|
100
|
+
<area shape="RECT" coords="2571,453,2643,405" href="Querier.html" alt="Querier">
|
101
|
+
<area shape="RECT" coords="1868,53,1940,5" href="../Hash.html" alt="::Hash">
|
102
|
+
<area shape="RECT" coords="1865,216,1943,168" href="ConfigFile.html" alt="ConfigFile">
|
103
|
+
<area shape="RECT" coords="1996,53,2089,5" href="../DRbUndumped.html" alt="DRbUndumped">
|
104
|
+
<area shape="RECT" coords="2001,216,2084,168" href="JobRunner.html" alt="JobRunner">
|
105
|
+
<area shape="RECT" coords="1463,335,1535,287" href="Main.html" alt="Main">
|
106
|
+
<area shape="RECT" coords="1213,335,1285,287" href="QDB.html" alt="QDB">
|
107
|
+
<area shape="RECT" coords="1323,335,1403,287" href="JobQueue.html" alt="JobQueue">
|
108
|
+
<area shape="RECT" coords="904,335,1027,287" href="JobRunnerDaemon.html" alt="JobRunnerDaemon">
|
109
|
+
<area shape="RECT" coords="2173,53,2245,5" href="../Array.html" alt="Array">
|
110
|
+
<area shape="RECT" coords="2159,216,2241,168" href="SleepCycle.html" alt="SleepCycle">
|
111
|
+
<area shape="RECT" coords="2273,216,2345,168" href="Job.html" alt="Job">
|
112
|
+
<area shape="RECT" coords="2272,53,2347,5" href="../ArrayFields.html" alt="ArrayFields">
|
113
|
+
<area shape="RECT" coords="2407,53,2505,5" href="../OrderedHash.html" alt="::OrderedHash">
|
114
|
+
<area shape="RECT" coords="2399,216,2513,168" href="OrderedAutoHash.html" alt="OrderedAutoHash">
|
115
|
+
<area shape="RECT" coords="925,53,1005,5" href="../LogMethods.html" alt="LogMethods">
|
116
|
+
<area shape="RECT" coords="2575,216,2652,168" href="Refresher.html" alt="Refresher">
|
117
|
+
<area shape="RECT" coords="1687,216,1804,168" href="ResourceManager.html" alt="ResourceManager">
|
118
|
+
<area shape="RECT" coords="1549,216,1624,168" href="Resource.html" alt="Resource">
|
119
|
+
<area shape="RECT" coords="2549,227,2677,135" href="../RQ.html" alt="lib/rq-3.0.0/refresher.rb">
|
120
|
+
<area shape="RECT" coords="173,464,313,372" href="../RQ.html" alt="lib/rq-3.0.0/snapshotter.rb">
|
121
|
+
<area shape="RECT" coords="597,464,715,372" href="../RQ.html" alt="lib/rq-3.0.0/deleter.rb">
|
122
|
+
<area shape="RECT" coords="472,464,587,372" href="../RQ.html" alt="lib/rq-3.0.0/feeder.rb">
|
123
|
+
<area shape="RECT" coords="1763,464,1903,372" href="../RQ.html" alt="lib/rq-3.0.0/configurator.rb">
|
124
|
+
<area shape="RECT" coords="1645,464,1752,372" href="../RQ.html" alt="lib/rq-3.0.0/cron.rb">
|
125
|
+
<area shape="RECT" coords="1312,345,1441,253" href="../RQ.html" alt="lib/rq-3.0.0/jobqueue.rb">
|
126
|
+
<area shape="RECT" coords="2032,464,2148,372" href="../RQ.html" alt="lib/rq-3.0.0/rotater.rb">
|
127
|
+
<area shape="RECT" coords="1517,464,1635,372" href="../RQ.html" alt="lib/rq-3.0.0/backer.rb">
|
128
|
+
<area shape="RECT" coords="725,464,845,372" href="../RQ.html" alt="lib/rq-3.0.0/toucher.rb">
|
129
|
+
<area shape="RECT" coords="1197,345,1301,253" href="../RQ.html" alt="lib/rq-3.0.0/qdb.rb">
|
130
|
+
<area shape="RECT" coords="1840,227,1967,135" href="../RQ.html" alt="lib/rq-3.0.0/configfile.rb">
|
131
|
+
<area shape="RECT" coords="1049,345,1187,253" href="../RQ.html" alt="lib/rq-3.0.0/mainhelper.rb">
|
132
|
+
<area shape="RECT" coords="1913,464,2021,372" href="../RQ.html" alt="lib/rq-3.0.0/lister.rb">
|
133
|
+
<area shape="RECT" coords="1452,345,1545,253" href="../RQ.html" alt="bin/rq.rb">
|
134
|
+
<area shape="RECT" coords="27,464,163,372" href="../RQ.html" alt="lib/rq-3.0.0/statuslister.rb">
|
135
|
+
<area shape="RECT" coords="2428,464,2549,372" href="../RQ.html" alt="lib/rq-3.0.0/updater.rb">
|
136
|
+
<area shape="RECT" coords="1977,227,2107,135" href="../RQ.html" alt="lib/rq-3.0.0/jobrunner.rb">
|
137
|
+
<area shape="RECT" coords="2263,227,2363,135" href="../RQ.html" alt="lib/rq-3.0.0/job.rb">
|
138
|
+
<area shape="RECT" coords="2159,464,2277,372" href="../RQ.html" alt="lib/rq-3.0.0/creator.rb">
|
139
|
+
<area shape="RECT" coords="2117,227,2252,135" href="../RQ.html" alt="lib/rq-3.0.0/sleepcycle.rb">
|
140
|
+
<area shape="RECT" coords="984,464,1109,372" href="../RQ.html" alt="lib/rq-3.0.0/executor.rb">
|
141
|
+
<area shape="RECT" coords="324,464,461,372" href="../RQ.html" alt="lib/rq-3.0.0/resubmitter.rb">
|
142
|
+
<area shape="RECT" coords="2373,227,2539,135" href="../RQ.html" alt="lib/rq-3.0.0/orderedautohash.rb">
|
143
|
+
<area shape="RECT" coords="1661,227,1829,135" href="../RQ.html" alt="lib/rq-3.0.0/resourcemanager.rb">
|
144
|
+
<area shape="RECT" coords="1524,227,1651,135" href="../RQ.html" alt="lib/rq-3.0.0/resource.rb">
|
145
|
+
<area shape="RECT" coords="869,345,1037,253" href="../RQ.html" alt="lib/rq-3.0.0/jobrunnerdaemon.rb">
|
146
|
+
<area shape="RECT" coords="2288,464,2417,372" href="../RQ.html" alt="lib/rq-3.0.0/recoverer.rb">
|
147
|
+
<area shape="RECT" coords="2560,464,2677,372" href="../RQ.html" alt="lib/rq-3.0.0/querier.rb">
|
148
|
+
<area shape="RECT" coords="1383,464,1507,372" href="../RQ.html" alt="lib/rq-3.0.0/ioviewer.rb">
|
149
|
+
<area shape="RECT" coords="1259,464,1372,372" href="../RQ.html" alt="lib/rq-3.0.0/locker.rb">
|
150
|
+
<area shape="RECT" coords="1120,464,1248,372" href="../RQ.html" alt="lib/rq-3.0.0/submitter.rb">
|
151
|
+
<area shape="RECT" coords="856,464,973,372" href="../RQ.html" alt="lib/rq-3.0.0/relayer.rb">
|
152
|
+
<area shape="RECT" coords="1420,204,1513,157" href="Usage.html" alt="Usage">
|
153
|
+
<area shape="RECT" coords="1316,204,1409,157" href="Util.html" alt="Util">
|
154
|
+
<area shape="RECT" coords="1188,204,1295,157" href="Logging/LogClassMethods.html" alt="LogClassMethods">
|
155
|
+
<area shape="RECT" coords="1084,204,1177,157" href="Logging/LoggerExt.html" alt="LoggerExt">
|
156
|
+
<area shape="RECT" coords="980,204,1073,157" href="Logging/LogMethods.html" alt="LogMethods">
|
157
|
+
<area shape="RECT" coords="953,215,1305,124" href="Logging.html" alt="Logging">
|
158
|
+
<area shape="RECT" coords="16,475,2688,91" href="../RQ.html" alt="RQ">
|
159
|
+
</map>
|
160
|
+
<img src="../../dot/m_44_0.jpg" usemap="#map" border=0 alt="Module: RQ">
|
161
|
+
</div>
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
<div id="method-list">
|
166
|
+
<h2 class="section-bar">Methods</h2>
|
167
|
+
|
168
|
+
<div class="name-list">
|
169
|
+
<a href="#M000118">daemon</a>
|
170
|
+
<a href="#M000119">gen_pidfile</a>
|
171
|
+
<a href="#M000120">gen_relayer_name</a>
|
172
|
+
<a href="#M000122">handle_signal</a>
|
173
|
+
<a href="#M000121">install_signal_handlers</a>
|
174
|
+
<a href="#M000127">reap</a>
|
175
|
+
<a href="#M000126">reap_and_sow</a>
|
176
|
+
<a href="#M000125">relax</a>
|
177
|
+
<a href="#M000117">relay</a>
|
178
|
+
<a href="#M000123">throttle</a>
|
179
|
+
<a href="#M000124">transaction</a>
|
180
|
+
</div>
|
181
|
+
</div>
|
182
|
+
|
183
|
+
<div id="constants-list">
|
184
|
+
<h2 class="section-bar">Constants</h2>
|
185
|
+
|
186
|
+
<div class="name-list">
|
187
|
+
<table summary="Constants">
|
188
|
+
<tr class="top-aligned-row context-row">
|
189
|
+
<td class="context-item-name">DEFAULT_MIN_SLEEP</td>
|
190
|
+
<td>=</td>
|
191
|
+
<td class="context-item-value">42</td>
|
192
|
+
</tr>
|
193
|
+
<tr class="top-aligned-row context-row">
|
194
|
+
<td class="context-item-name">DEFAULT_MAX_SLEEP</td>
|
195
|
+
<td>=</td>
|
196
|
+
<td class="context-item-value">240</td>
|
197
|
+
</tr>
|
198
|
+
<tr class="top-aligned-row context-row">
|
199
|
+
<td class="context-item-name">DEFAULT_RELAY</td>
|
200
|
+
<td>=</td>
|
201
|
+
<td class="context-item-value">16</td>
|
202
|
+
</tr>
|
203
|
+
</table>
|
204
|
+
</div>
|
205
|
+
</div>
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
<div id="attribute-list">
|
210
|
+
<h2 class="section-bar">Attributes</h2>
|
211
|
+
|
212
|
+
<div class="name-list">
|
213
|
+
<table>
|
214
|
+
<tr class="top-aligned-row context-row">
|
215
|
+
<td class="context-item-name">max_sleep</td>
|
216
|
+
<td class="context-item-value"> [RW] </td>
|
217
|
+
<td class="context-item-desc"></td>
|
218
|
+
</tr>
|
219
|
+
<tr class="top-aligned-row context-row">
|
220
|
+
<td class="context-item-name">min_sleep</td>
|
221
|
+
<td class="context-item-value"> [RW] </td>
|
222
|
+
<td class="context-item-desc"></td>
|
223
|
+
</tr>
|
224
|
+
<tr class="top-aligned-row context-row">
|
225
|
+
<td class="context-item-name">relay</td>
|
226
|
+
<td class="context-item-value"> [RW] </td>
|
227
|
+
<td class="context-item-desc"></td>
|
228
|
+
</tr>
|
229
|
+
</table>
|
230
|
+
</div>
|
231
|
+
</div>
|
232
|
+
|
233
|
+
|
234
|
+
</div>
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
<!-- if includes -->
|
239
|
+
|
240
|
+
|
241
|
+
<!-- if method_list -->
|
242
|
+
<div id="methods">
|
243
|
+
<h2 class="section-bar">Public Instance methods</h2>
|
244
|
+
|
245
|
+
<div id="method-M000118" class="method-detail">
|
246
|
+
<a name="M000118"></a>
|
247
|
+
|
248
|
+
<div class="method-heading">
|
249
|
+
<a href="#M000118" class="method-signature">
|
250
|
+
<span class="method-name">daemon</span><span class="method-args">() {|| ...}</span>
|
251
|
+
</a>
|
252
|
+
</div>
|
253
|
+
|
254
|
+
<div class="method-description">
|
255
|
+
<p><a class="source-toggle" href="#"
|
256
|
+
onclick="toggleCode('M000118-source');return false;">[Source]</a></p>
|
257
|
+
<div class="method-source-code" id="M000118-source">
|
258
|
+
<pre>
|
259
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 98</span>
|
260
|
+
98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">daemon</span>
|
261
|
+
99: <span class="ruby-comment cmt">#--{{{</span>
|
262
|
+
100: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value str">'daemon'</span>]
|
263
|
+
101: <span class="ruby-identifier">fork</span> <span class="ruby-keyword kw">do</span>
|
264
|
+
102: <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">setsid</span>
|
265
|
+
103: <span class="ruby-identifier">fork</span> <span class="ruby-keyword kw">do</span>
|
266
|
+
104: <span class="ruby-constant">Dir</span><span class="ruby-operator">::</span><span class="ruby-identifier">chdir</span>(<span class="ruby-constant">Util</span>.<span class="ruby-identifier">realpath</span>(<span class="ruby-value str">'~'</span>))
|
267
|
+
105: <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-identifier">umask</span> <span class="ruby-value">0</span>
|
268
|
+
106: <span class="ruby-identifier">open</span>(<span class="ruby-value str">'/dev/null'</span>,<span class="ruby-value str">'r+'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
269
|
+
107: <span class="ruby-constant">STDIN</span>.<span class="ruby-identifier">reopen</span> <span class="ruby-identifier">f</span>
|
270
|
+
108: <span class="ruby-constant">STDOUT</span>.<span class="ruby-identifier">reopen</span> <span class="ruby-identifier">f</span>
|
271
|
+
109: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">reopen</span> <span class="ruby-identifier">f</span>
|
272
|
+
110: <span class="ruby-keyword kw">end</span>
|
273
|
+
111: <span class="ruby-ivar">@daemon</span> = <span class="ruby-keyword kw">true</span>
|
274
|
+
112: <span class="ruby-keyword kw">yield</span>
|
275
|
+
113: <span class="ruby-identifier">exit</span> <span class="ruby-constant">EXIT_SUCCESS</span>
|
276
|
+
114: <span class="ruby-keyword kw">end</span>
|
277
|
+
115: <span class="ruby-identifier">exit!</span>
|
278
|
+
116: <span class="ruby-keyword kw">end</span>
|
279
|
+
117: <span class="ruby-identifier">exit!</span>
|
280
|
+
118: <span class="ruby-keyword kw">else</span>
|
281
|
+
119: <span class="ruby-ivar">@daemon</span> = <span class="ruby-keyword kw">false</span>
|
282
|
+
120: <span class="ruby-keyword kw">yield</span>
|
283
|
+
121: <span class="ruby-identifier">exit</span> <span class="ruby-constant">EXIT_SUCCESS</span>
|
284
|
+
122: <span class="ruby-keyword kw">end</span>
|
285
|
+
123: <span class="ruby-comment cmt">#--}}}</span>
|
286
|
+
124: <span class="ruby-keyword kw">end</span>
|
287
|
+
</pre>
|
288
|
+
</div>
|
289
|
+
</div>
|
290
|
+
</div>
|
291
|
+
|
292
|
+
<div id="method-M000119" class="method-detail">
|
293
|
+
<a name="M000119"></a>
|
294
|
+
|
295
|
+
<div class="method-heading">
|
296
|
+
<a href="#M000119" class="method-signature">
|
297
|
+
<span class="method-name">gen_pidfile</span><span class="method-args">name = nil</span>
|
298
|
+
</a>
|
299
|
+
</div>
|
300
|
+
|
301
|
+
<div class="method-description">
|
302
|
+
<p><a class="source-toggle" href="#"
|
303
|
+
onclick="toggleCode('M000119-source');return false;">[Source]</a></p>
|
304
|
+
<div class="method-source-code" id="M000119-source">
|
305
|
+
<pre>
|
306
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 125</span>
|
307
|
+
125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gen_pidfile</span> <span class="ruby-identifier">name</span> = <span class="ruby-keyword kw">nil</span>
|
308
|
+
126: <span class="ruby-comment cmt">#--{{{</span>
|
309
|
+
127: <span class="ruby-identifier">name</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">gen_relayer_name</span>(<span class="ruby-ivar">@options</span>[<span class="ruby-value str">'name'</span>] <span class="ruby-operator">||</span> <span class="ruby-ivar">@qpath</span>)
|
310
|
+
128: <span class="ruby-ivar">@pidfile</span> =
|
311
|
+
129: <span class="ruby-keyword kw">begin</span>
|
312
|
+
130: <span class="ruby-identifier">open</span> <span class="ruby-identifier">name</span>, <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">CREAT</span> <span class="ruby-operator">|</span> <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">EXCL</span> <span class="ruby-operator">|</span> <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">RDWR</span>
|
313
|
+
131: <span class="ruby-keyword kw">rescue</span>
|
314
|
+
132: <span class="ruby-identifier">open</span> <span class="ruby-identifier">name</span>, <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">RDWR</span>
|
315
|
+
133: <span class="ruby-keyword kw">end</span>
|
316
|
+
134: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@pidfile</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@pidfile</span>.<span class="ruby-identifier">posixlock</span>(<span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">LOCK_EX</span> <span class="ruby-operator">|</span> <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">LOCK_NB</span>)
|
317
|
+
135: <span class="ruby-identifier">pid</span> = <span class="ruby-constant">IO</span><span class="ruby-operator">::</span><span class="ruby-identifier">read</span>(<span class="ruby-identifier">name</span>) <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
318
|
+
136: <span class="ruby-identifier">pid</span> <span class="ruby-operator">||=</span> <span class="ruby-value str">'unknown'</span>
|
319
|
+
137: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value str">'quiet'</span>]
|
320
|
+
138: <span class="ruby-identifier">exit</span> <span class="ruby-constant">EXIT_FAILURE</span>
|
321
|
+
139: <span class="ruby-keyword kw">else</span>
|
322
|
+
140: <span class="ruby-identifier">raise</span> <span class="ruby-node">"process <#{ pid }> is already relaying from this queue"</span>
|
323
|
+
141: <span class="ruby-keyword kw">end</span>
|
324
|
+
142: <span class="ruby-keyword kw">else</span>
|
325
|
+
143: <span class="ruby-ivar">@pidfile</span>.<span class="ruby-identifier">rewind</span>
|
326
|
+
144: <span class="ruby-ivar">@pidfile</span>.<span class="ruby-identifier">sync</span> = <span class="ruby-keyword kw">true</span>
|
327
|
+
145: <span class="ruby-ivar">@pidfile</span>.<span class="ruby-identifier">print</span> <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">pid</span>
|
328
|
+
146: <span class="ruby-ivar">@pidfile</span>.<span class="ruby-identifier">truncate</span> <span class="ruby-ivar">@pidfile</span>.<span class="ruby-identifier">pos</span>
|
329
|
+
147: <span class="ruby-identifier">at_exit</span>{ <span class="ruby-constant">FileUtils</span><span class="ruby-operator">::</span><span class="ruby-identifier">rm_f</span> <span class="ruby-identifier">name</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span> }
|
330
|
+
148: <span class="ruby-keyword kw">end</span>
|
331
|
+
149: <span class="ruby-comment cmt">#--}}}</span>
|
332
|
+
150: <span class="ruby-keyword kw">end</span>
|
333
|
+
</pre>
|
334
|
+
</div>
|
335
|
+
</div>
|
336
|
+
</div>
|
337
|
+
|
338
|
+
<div id="method-M000120" class="method-detail">
|
339
|
+
<a name="M000120"></a>
|
340
|
+
|
341
|
+
<div class="method-heading">
|
342
|
+
<a href="#M000120" class="method-signature">
|
343
|
+
<span class="method-name">gen_relayer_name</span><span class="method-args">path</span>
|
344
|
+
</a>
|
345
|
+
</div>
|
346
|
+
|
347
|
+
<div class="method-description">
|
348
|
+
<p><a class="source-toggle" href="#"
|
349
|
+
onclick="toggleCode('M000120-source');return false;">[Source]</a></p>
|
350
|
+
<div class="method-source-code" id="M000120-source">
|
351
|
+
<pre>
|
352
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 151</span>
|
353
|
+
151: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gen_relayer_name</span> <span class="ruby-identifier">path</span>
|
354
|
+
152: <span class="ruby-comment cmt">#--{{{</span>
|
355
|
+
153: <span class="ruby-identifier">path</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">realpath</span>(<span class="ruby-identifier">path</span>).<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">%|/|o</span>, <span class="ruby-value str">'_'</span>)
|
356
|
+
154: <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-identifier">join</span>(<span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">realpath</span>(<span class="ruby-value str">'~'</span>), <span class="ruby-node">".#{ path }.relayer"</span>)
|
357
|
+
155: <span class="ruby-comment cmt">#--}}}</span>
|
358
|
+
156: <span class="ruby-keyword kw">end</span>
|
359
|
+
</pre>
|
360
|
+
</div>
|
361
|
+
</div>
|
362
|
+
</div>
|
363
|
+
|
364
|
+
<div id="method-M000122" class="method-detail">
|
365
|
+
<a name="M000122"></a>
|
366
|
+
|
367
|
+
<div class="method-heading">
|
368
|
+
<a href="#M000122" class="method-signature">
|
369
|
+
<span class="method-name">handle_signal</span><span class="method-args">()</span>
|
370
|
+
</a>
|
371
|
+
</div>
|
372
|
+
|
373
|
+
<div class="method-description">
|
374
|
+
<p><a class="source-toggle" href="#"
|
375
|
+
onclick="toggleCode('M000122-source');return false;">[Source]</a></p>
|
376
|
+
<div class="method-source-code" id="M000122-source">
|
377
|
+
<pre>
|
378
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 183</span>
|
379
|
+
183: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">handle_signal</span>
|
380
|
+
184: <span class="ruby-comment cmt">#--{{{</span>
|
381
|
+
185: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$rq_sigterm</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">$rq_sigint</span>
|
382
|
+
186: <span class="ruby-identifier">reap_jobs</span>(<span class="ruby-identifier">reap_only</span> = <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">nothing_running?</span>
|
383
|
+
187: <span class="ruby-identifier">info</span>{ <span class="ruby-value str">"** STOPPING **"</span> }
|
384
|
+
188: <span class="ruby-ivar">@jrd</span>.<span class="ruby-identifier">shutdown</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
385
|
+
189: <span class="ruby-ivar">@pidfile</span>.<span class="ruby-identifier">posixlock</span> <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">LOCK_UN</span>
|
386
|
+
190: <span class="ruby-identifier">exit</span> <span class="ruby-constant">EXIT_SUCCESS</span>
|
387
|
+
191: <span class="ruby-keyword kw">end</span>
|
388
|
+
192:
|
389
|
+
193: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$rq_sighup</span>
|
390
|
+
194: <span class="ruby-identifier">reap_jobs</span>(<span class="ruby-identifier">reap_only</span> = <span class="ruby-keyword kw">true</span>) <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">nothing_running?</span>
|
391
|
+
195: <span class="ruby-identifier">info</span>{ <span class="ruby-value str">"** RESTARTING **"</span> }
|
392
|
+
196: <span class="ruby-ivar">@jrd</span>.<span class="ruby-identifier">shutdown</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
|
393
|
+
197: <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">uncache</span> <span class="ruby-keyword kw">__FILE__</span>
|
394
|
+
198: <span class="ruby-ivar">@pidfile</span>.<span class="ruby-identifier">posixlock</span> <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">LOCK_UN</span>
|
395
|
+
199: <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">exec</span> <span class="ruby-ivar">@cmd</span>
|
396
|
+
200: <span class="ruby-keyword kw">end</span>
|
397
|
+
201: <span class="ruby-comment cmt">#--}}}</span>
|
398
|
+
202: <span class="ruby-keyword kw">end</span>
|
399
|
+
</pre>
|
400
|
+
</div>
|
401
|
+
</div>
|
402
|
+
</div>
|
403
|
+
|
404
|
+
<div id="method-M000121" class="method-detail">
|
405
|
+
<a name="M000121"></a>
|
406
|
+
|
407
|
+
<div class="method-heading">
|
408
|
+
<a href="#M000121" class="method-signature">
|
409
|
+
<span class="method-name">install_signal_handlers</span><span class="method-args">()</span>
|
410
|
+
</a>
|
411
|
+
</div>
|
412
|
+
|
413
|
+
<div class="method-description">
|
414
|
+
<p><a class="source-toggle" href="#"
|
415
|
+
onclick="toggleCode('M000121-source');return false;">[Source]</a></p>
|
416
|
+
<div class="method-source-code" id="M000121-source">
|
417
|
+
<pre>
|
418
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 157</span>
|
419
|
+
157: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_signal_handlers</span>
|
420
|
+
158: <span class="ruby-comment cmt">#--{{{</span>
|
421
|
+
159: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@daemon</span>
|
422
|
+
160: <span class="ruby-identifier">$rq_signaled</span> = <span class="ruby-keyword kw">false</span>
|
423
|
+
161: <span class="ruby-identifier">$rq_sighup</span> = <span class="ruby-keyword kw">false</span>
|
424
|
+
162: <span class="ruby-identifier">$rq_sigterm</span> = <span class="ruby-keyword kw">false</span>
|
425
|
+
163: <span class="ruby-identifier">$rq_sigint</span> = <span class="ruby-keyword kw">false</span>
|
426
|
+
164: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">'SIGHUP'</span>) <span class="ruby-keyword kw">do</span>
|
427
|
+
165: <span class="ruby-identifier">$rq_signaled</span> = <span class="ruby-identifier">$rq_sighup</span> = <span class="ruby-value str">'SIGHUP'</span>
|
428
|
+
166: <span class="ruby-identifier">warn</span>{ <span class="ruby-value str">"signal <SIGHUP>"</span> }
|
429
|
+
167: <span class="ruby-identifier">warn</span>{ <span class="ruby-value str">"finishing running jobs before handling signal"</span> }
|
430
|
+
168: <span class="ruby-keyword kw">end</span>
|
431
|
+
169: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">'SIGTERM'</span>) <span class="ruby-keyword kw">do</span>
|
432
|
+
170: <span class="ruby-identifier">$rq_signaled</span> = <span class="ruby-identifier">$rq_sigterm</span> = <span class="ruby-value str">'SIGTERM'</span>
|
433
|
+
171: <span class="ruby-identifier">warn</span>{ <span class="ruby-value str">"signal <SIGTERM>"</span> }
|
434
|
+
172: <span class="ruby-identifier">warn</span>{ <span class="ruby-value str">"finishing running jobs before handling signal"</span> }
|
435
|
+
173: <span class="ruby-keyword kw">end</span>
|
436
|
+
174: <span class="ruby-identifier">trap</span>(<span class="ruby-value str">'SIGINT'</span>) <span class="ruby-keyword kw">do</span>
|
437
|
+
175: <span class="ruby-identifier">$rq_signaled</span> = <span class="ruby-identifier">$rq_sigint</span> = <span class="ruby-value str">'SIGINT'</span>
|
438
|
+
176: <span class="ruby-identifier">warn</span>{ <span class="ruby-value str">"signal <SIGINT>"</span> }
|
439
|
+
177: <span class="ruby-identifier">warn</span>{ <span class="ruby-value str">"finishing running jobs before handling signal"</span> }
|
440
|
+
178: <span class="ruby-keyword kw">end</span>
|
441
|
+
179: <span class="ruby-ivar">@jrd</span>.<span class="ruby-identifier">install_signal_handlers</span>
|
442
|
+
180: <span class="ruby-keyword kw">end</span>
|
443
|
+
181: <span class="ruby-comment cmt">#--}}}</span>
|
444
|
+
182: <span class="ruby-keyword kw">end</span>
|
445
|
+
</pre>
|
446
|
+
</div>
|
447
|
+
</div>
|
448
|
+
</div>
|
449
|
+
|
450
|
+
<div id="method-M000127" class="method-detail">
|
451
|
+
<a name="M000127"></a>
|
452
|
+
|
453
|
+
<div class="method-heading">
|
454
|
+
<a href="#M000127" class="method-signature">
|
455
|
+
<span class="method-name">reap</span><span class="method-args">()</span>
|
456
|
+
</a>
|
457
|
+
</div>
|
458
|
+
|
459
|
+
<div class="method-description">
|
460
|
+
<p><a class="source-toggle" href="#"
|
461
|
+
onclick="toggleCode('M000127-source');return false;">[Source]</a></p>
|
462
|
+
<div class="method-source-code" id="M000127-source">
|
463
|
+
<pre>
|
464
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 256</span>
|
465
|
+
256: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reap</span>
|
466
|
+
257: <span class="ruby-comment cmt">#--{{{</span>
|
467
|
+
258: <span class="ruby-identifier">debug</span>{ <span class="ruby-value str">"reaping finished/dead jobs"</span> }
|
468
|
+
259:
|
469
|
+
260: <span class="ruby-identifier">sql</span> = <span class="ruby-value str">"select jid from jobs where or state='running'\n"</span>
|
470
|
+
261: <span class="ruby-identifier">tuples</span> = <span class="ruby-identifier">hdb</span>.<span class="ruby-identifier">execute</span> <span class="ruby-identifier">sql</span>
|
471
|
+
262: <span class="ruby-identifier">hjids</span> = <span class="ruby-identifier">tuples</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">t</span>[<span class="ruby-value str">'jid'</span>]}
|
472
|
+
263:
|
473
|
+
264: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">jids</span>.<span class="ruby-identifier">empty</span>
|
474
|
+
265: <span class="ruby-identifier">where_clauses</span> = <span class="ruby-identifier">hjids</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">hjid</span><span class="ruby-operator">|</span> <span class="ruby-node">"jid=#{ hjid }"</span> }
|
475
|
+
266: <span class="ruby-identifier">where_clause</span> = <span class="ruby-identifier">where_clauses</span>.<span class="ruby-identifier">join</span> <span class="ruby-value str">' or '</span>
|
476
|
+
267: <span class="ruby-identifier">sql</span> = <span class="ruby-value str">"select jid from jobs where state='finished' or state='dead' and (\#{ where_clause })\n"</span>
|
477
|
+
268: <span class="ruby-keyword kw">end</span>
|
478
|
+
269:
|
479
|
+
270: <span class="ruby-identifier">debug</span>{ <span class="ruby-value str">"reaped finished/dead jobs"</span> }
|
480
|
+
271: <span class="ruby-keyword kw">self</span>
|
481
|
+
272: <span class="ruby-comment cmt">#--}}}</span>
|
482
|
+
273: <span class="ruby-keyword kw">end</span>
|
483
|
+
</pre>
|
484
|
+
</div>
|
485
|
+
</div>
|
486
|
+
</div>
|
487
|
+
|
488
|
+
<div id="method-M000126" class="method-detail">
|
489
|
+
<a name="M000126"></a>
|
490
|
+
|
491
|
+
<div class="method-heading">
|
492
|
+
<a href="#M000126" class="method-signature">
|
493
|
+
<span class="method-name">reap_and_sow</span><span class="method-args">()</span>
|
494
|
+
</a>
|
495
|
+
</div>
|
496
|
+
|
497
|
+
<div class="method-description">
|
498
|
+
<p>
|
499
|
+
TODO - this will need to map jids here to jids there
|
500
|
+
</p>
|
501
|
+
<p><a class="source-toggle" href="#"
|
502
|
+
onclick="toggleCode('M000126-source');return false;">[Source]</a></p>
|
503
|
+
<div class="method-source-code" id="M000126-source">
|
504
|
+
<pre>
|
505
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 251</span>
|
506
|
+
251: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reap_and_sow</span>
|
507
|
+
252: <span class="ruby-comment cmt">#--{{{</span>
|
508
|
+
253: <span class="ruby-identifier">transaction</span>{ <span class="ruby-identifier">reap</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">sow</span> }
|
509
|
+
254: <span class="ruby-comment cmt">#--}}}</span>
|
510
|
+
255: <span class="ruby-keyword kw">end</span>
|
511
|
+
</pre>
|
512
|
+
</div>
|
513
|
+
</div>
|
514
|
+
</div>
|
515
|
+
|
516
|
+
<div id="method-M000125" class="method-detail">
|
517
|
+
<a name="M000125"></a>
|
518
|
+
|
519
|
+
<div class="method-heading">
|
520
|
+
<a href="#M000125" class="method-signature">
|
521
|
+
<span class="method-name">relax</span><span class="method-args">()</span>
|
522
|
+
</a>
|
523
|
+
</div>
|
524
|
+
|
525
|
+
<div class="method-description">
|
526
|
+
<p><a class="source-toggle" href="#"
|
527
|
+
onclick="toggleCode('M000125-source');return false;">[Source]</a></p>
|
528
|
+
<div class="method-source-code" id="M000125-source">
|
529
|
+
<pre>
|
530
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 240</span>
|
531
|
+
240: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">relax</span>
|
532
|
+
241: <span class="ruby-comment cmt">#--{{{</span>
|
533
|
+
242: <span class="ruby-identifier">seconds</span> = <span class="ruby-identifier">rand</span>(<span class="ruby-ivar">@max_sleep</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@min_sleep</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>) <span class="ruby-operator">+</span> <span class="ruby-ivar">@min_sleep</span>
|
534
|
+
243: <span class="ruby-identifier">debug</span>{ <span class="ruby-node">"relaxing <#{ seconds }>"</span> }
|
535
|
+
244: <span class="ruby-identifier">sleep</span> <span class="ruby-identifier">seconds</span>
|
536
|
+
245: <span class="ruby-comment cmt">#--}}}</span>
|
537
|
+
246: <span class="ruby-keyword kw">end</span>
|
538
|
+
</pre>
|
539
|
+
</div>
|
540
|
+
</div>
|
541
|
+
</div>
|
542
|
+
|
543
|
+
<div id="method-M000117" class="method-detail">
|
544
|
+
<a name="M000117"></a>
|
545
|
+
|
546
|
+
<div class="method-heading">
|
547
|
+
<a href="#M000117" class="method-signature">
|
548
|
+
<span class="method-name">relay</span><span class="method-args">()</span>
|
549
|
+
</a>
|
550
|
+
</div>
|
551
|
+
|
552
|
+
<div class="method-description">
|
553
|
+
<p><a class="source-toggle" href="#"
|
554
|
+
onclick="toggleCode('M000117-source');return false;">[Source]</a></p>
|
555
|
+
<div class="method-source-code" id="M000117-source">
|
556
|
+
<pre>
|
557
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 27</span>
|
558
|
+
27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">relay</span>
|
559
|
+
28: <span class="ruby-comment cmt">#--{{{</span>
|
560
|
+
29: <span class="ruby-identifier">daemon</span> <span class="ruby-keyword kw">do</span>
|
561
|
+
30: <span class="ruby-identifier">gen_pidfile</span>
|
562
|
+
31: <span class="ruby-ivar">@main</span>.<span class="ruby-identifier">init_logging</span>
|
563
|
+
32: <span class="ruby-ivar">@logger</span> = <span class="ruby-ivar">@main</span>.<span class="ruby-identifier">logger</span>
|
564
|
+
33:
|
565
|
+
34: <span class="ruby-identifier">set_q</span>
|
566
|
+
35:
|
567
|
+
36: <span class="ruby-comment cmt">#</span>
|
568
|
+
37: <span class="ruby-comment cmt"># munge @q/@qpath to set there</span>
|
569
|
+
38: <span class="ruby-comment cmt">#</span>
|
570
|
+
39: <span class="ruby-ivar">@here</span> = <span class="ruby-ivar">@q</span>
|
571
|
+
40: <span class="ruby-ivar">@qpath</span> = <span class="ruby-identifier">realpath</span> <span class="ruby-ivar">@main</span>.<span class="ruby-identifier">argv</span>.<span class="ruby-identifier">shift</span>
|
572
|
+
41: <span class="ruby-identifier">set_q</span>
|
573
|
+
42: <span class="ruby-ivar">@there</span> = <span class="ruby-ivar">@q</span>
|
574
|
+
43: <span class="ruby-ivar">@q</span> = <span class="ruby-ivar">@here</span>
|
575
|
+
44: <span class="ruby-ivar">@hdb</span> = <span class="ruby-ivar">@here</span>.<span class="ruby-identifier">qdb</span>
|
576
|
+
45: <span class="ruby-ivar">@tdb</span> = <span class="ruby-ivar">@there</span>.<span class="ruby-identifier">qdb</span>
|
577
|
+
46:
|
578
|
+
47: <span class="ruby-ivar">@pid</span> = <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">pid</span>
|
579
|
+
48: <span class="ruby-ivar">@cmd</span> = <span class="ruby-ivar">@main</span>.<span class="ruby-identifier">cmd</span>
|
580
|
+
49: <span class="ruby-ivar">@started</span> = <span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">timestamp</span>
|
581
|
+
50: <span class="ruby-ivar">@min_sleep</span> = <span class="ruby-constant">Integer</span>(<span class="ruby-ivar">@options</span>[<span class="ruby-value str">'min_sleep'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">defval</span>(<span class="ruby-value str">'min_sleep'</span>))
|
582
|
+
51: <span class="ruby-ivar">@max_sleep</span> = <span class="ruby-constant">Integer</span>(<span class="ruby-ivar">@options</span>[<span class="ruby-value str">'max_sleep'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">defval</span>(<span class="ruby-value str">'max_sleep'</span>))
|
583
|
+
52: <span class="ruby-ivar">@relay</span> = <span class="ruby-constant">Integer</span>(<span class="ruby-ivar">@options</span>[<span class="ruby-value str">'number'</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">defval</span>(<span class="ruby-value str">'relay'</span>))
|
584
|
+
53:
|
585
|
+
54: <span class="ruby-ivar">@transactions</span> = {}
|
586
|
+
55:
|
587
|
+
56:
|
588
|
+
57: <span class="ruby-identifier">install_signal_handlers</span>
|
589
|
+
58:
|
590
|
+
59: <span class="ruby-identifier">info</span>{ <span class="ruby-value str">"** STARTED **"</span> }
|
591
|
+
60: <span class="ruby-identifier">info</span>{ <span class="ruby-node">"version <#{ RQ::VERSION }>"</span> }
|
592
|
+
61: <span class="ruby-identifier">info</span>{ <span class="ruby-node">"cmd <#{ @cmd }>"</span> }
|
593
|
+
62: <span class="ruby-identifier">info</span>{ <span class="ruby-node">"pid <#{ @pid }>"</span> }
|
594
|
+
63: <span class="ruby-identifier">info</span>{ <span class="ruby-node">"pidfile <#{ @pidfile.path }>"</span> }
|
595
|
+
64: <span class="ruby-identifier">info</span>{ <span class="ruby-node">"here <#{ @here.path }>"</span> }
|
596
|
+
65: <span class="ruby-identifier">info</span>{ <span class="ruby-node">"there <#{ @there.path }>"</span> }
|
597
|
+
66:
|
598
|
+
67: <span class="ruby-identifier">debug</span>{ <span class="ruby-node">"mode <#{ @mode }>"</span> }
|
599
|
+
68: <span class="ruby-identifier">debug</span>{ <span class="ruby-node">"min_sleep <#{ @min_sleep }>"</span> }
|
600
|
+
69: <span class="ruby-identifier">debug</span>{ <span class="ruby-node">"max_sleep <#{ @max_sleep }>"</span> }
|
601
|
+
70: <span class="ruby-identifier">debug</span>{ <span class="ruby-node">"relay <#{ @relay }>"</span> }
|
602
|
+
71:
|
603
|
+
72: <span class="ruby-identifier">exit</span>
|
604
|
+
73:
|
605
|
+
74: <span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
606
|
+
75: <span class="ruby-identifier">handle_signal</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$rq_signaled</span>
|
607
|
+
76: <span class="ruby-identifier">throttle</span>(<span class="ruby-ivar">@min_sleep</span>) <span class="ruby-keyword kw">do</span>
|
608
|
+
77: <span class="ruby-identifier">reap_and_sow</span>
|
609
|
+
78: <span class="ruby-identifier">relax</span>
|
610
|
+
79: <span class="ruby-keyword kw">end</span>
|
611
|
+
80: <span class="ruby-keyword kw">end</span>
|
612
|
+
81: =begin
|
613
|
+
82: loop do
|
614
|
+
83: handle_signal if $rq_signaled
|
615
|
+
84: throttle(@min_sleep) do
|
616
|
+
85: start_jobs unless busy?
|
617
|
+
86: if nothing_running?
|
618
|
+
87: relax
|
619
|
+
88: else
|
620
|
+
89: reap_jobs
|
621
|
+
90: end
|
622
|
+
91: end
|
623
|
+
92: end
|
624
|
+
93: =end
|
625
|
+
94:
|
626
|
+
95: <span class="ruby-keyword kw">end</span>
|
627
|
+
96: <span class="ruby-comment cmt">#--}}}</span>
|
628
|
+
97: <span class="ruby-keyword kw">end</span>
|
629
|
+
</pre>
|
630
|
+
</div>
|
631
|
+
</div>
|
632
|
+
</div>
|
633
|
+
|
634
|
+
<div id="method-M000123" class="method-detail">
|
635
|
+
<a name="M000123"></a>
|
636
|
+
|
637
|
+
<div class="method-heading">
|
638
|
+
<a href="#M000123" class="method-signature">
|
639
|
+
<span class="method-name">throttle</span><span class="method-args">rate = @min_sleep</span>
|
640
|
+
</a>
|
641
|
+
</div>
|
642
|
+
|
643
|
+
<div class="method-description">
|
644
|
+
<p><a class="source-toggle" href="#"
|
645
|
+
onclick="toggleCode('M000123-source');return false;">[Source]</a></p>
|
646
|
+
<div class="method-source-code" id="M000123-source">
|
647
|
+
<pre>
|
648
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 203</span>
|
649
|
+
203: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">throttle</span> <span class="ruby-identifier">rate</span> = <span class="ruby-ivar">@min_sleep</span>
|
650
|
+
204: <span class="ruby-comment cmt">#--{{{</span>
|
651
|
+
205: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Numeric</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">rate</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">rate</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
652
|
+
206: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span> <span class="ruby-ivar">@last_throttle_time</span> <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@last_throttle_time</span>
|
653
|
+
207: <span class="ruby-identifier">elapsed</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@last_throttle_time</span>
|
654
|
+
208: <span class="ruby-identifier">timeout</span> = <span class="ruby-identifier">rate</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">elapsed</span>
|
655
|
+
209: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">timeout</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
656
|
+
210: <span class="ruby-identifier">timeout</span> = <span class="ruby-identifier">timeout</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">rand</span>(<span class="ruby-identifier">rate</span> <span class="ruby-operator">*</span> <span class="ruby-value">0</span><span class="ruby-value">.10</span>)
|
657
|
+
211: <span class="ruby-identifier">debug</span>{ <span class="ruby-node">"throttle rate of <#{ rate }> exceeded - sleeping <#{ timeout }>"</span> }
|
658
|
+
212: <span class="ruby-identifier">sleep</span> <span class="ruby-identifier">timeout</span>
|
659
|
+
213: <span class="ruby-keyword kw">end</span>
|
660
|
+
214: <span class="ruby-keyword kw">end</span>
|
661
|
+
215: <span class="ruby-ivar">@last_throttle_time</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>
|
662
|
+
216: <span class="ruby-keyword kw">end</span>
|
663
|
+
217: <span class="ruby-keyword kw">yield</span>
|
664
|
+
218: <span class="ruby-comment cmt">#--}}}</span>
|
665
|
+
219: <span class="ruby-keyword kw">end</span>
|
666
|
+
</pre>
|
667
|
+
</div>
|
668
|
+
</div>
|
669
|
+
</div>
|
670
|
+
|
671
|
+
<div id="method-M000124" class="method-detail">
|
672
|
+
<a name="M000124"></a>
|
673
|
+
|
674
|
+
<div class="method-heading">
|
675
|
+
<a href="#M000124" class="method-signature">
|
676
|
+
<span class="method-name">transaction</span><span class="method-args">() {|| ...}</span>
|
677
|
+
</a>
|
678
|
+
</div>
|
679
|
+
|
680
|
+
<div class="method-description">
|
681
|
+
<p><a class="source-toggle" href="#"
|
682
|
+
onclick="toggleCode('M000124-source');return false;">[Source]</a></p>
|
683
|
+
<div class="method-source-code" id="M000124-source">
|
684
|
+
<pre>
|
685
|
+
<span class="ruby-comment cmt"># File lib/rq-3.0.0/relayer.rb, line 220</span>
|
686
|
+
220: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">transaction</span>
|
687
|
+
221: <span class="ruby-comment cmt">#--{{{</span>
|
688
|
+
222: <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">nil</span>
|
689
|
+
223: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@in_transaction</span>
|
690
|
+
224: <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">yield</span>
|
691
|
+
225: <span class="ruby-keyword kw">else</span>
|
692
|
+
226: <span class="ruby-keyword kw">begin</span>
|
693
|
+
227: <span class="ruby-ivar">@in_transaction</span> = <span class="ruby-keyword kw">true</span>
|
694
|
+
228: <span class="ruby-ivar">@here</span>.<span class="ruby-identifier">transaction</span> <span class="ruby-keyword kw">do</span>
|
695
|
+
229: <span class="ruby-ivar">@there</span>.<span class="ruby-identifier">transaction</span> <span class="ruby-keyword kw">do</span>
|
696
|
+
230: <span class="ruby-identifier">ret</span> = <span class="ruby-keyword kw">yield</span>
|
697
|
+
231: <span class="ruby-keyword kw">end</span>
|
698
|
+
232: <span class="ruby-keyword kw">end</span>
|
699
|
+
233: <span class="ruby-keyword kw">ensure</span>
|
700
|
+
234: <span class="ruby-ivar">@in_transaction</span> = <span class="ruby-keyword kw">false</span>
|
701
|
+
235: <span class="ruby-keyword kw">end</span>
|
702
|
+
236: <span class="ruby-keyword kw">end</span>
|
703
|
+
237: <span class="ruby-identifier">ret</span>
|
704
|
+
238: <span class="ruby-comment cmt">#--}}}</span>
|
705
|
+
239: <span class="ruby-keyword kw">end</span>
|
706
|
+
</pre>
|
707
|
+
</div>
|
708
|
+
</div>
|
709
|
+
</div>
|
710
|
+
|
711
|
+
|
712
|
+
</div>
|
713
|
+
|
714
|
+
|
715
|
+
</div>
|
716
|
+
|
717
|
+
|
718
|
+
<div id="validator-badges">
|
719
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
720
|
+
</div>
|
721
|
+
|
722
|
+
</body>
|
723
|
+
</html>
|