{"_id":"multi-tasks","_rev":"73-5f2bdc594a4568fe2995968609dcf180","name":"multi-tasks","dist-tags":{"next":"4.0.0-rc.6","latest":"4.0.1"},"versions":{"1.0.0":{"name":"multi-tasks","version":"1.0.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.0.0","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"a225c49da0f7f308ae7162f65bf413cd9f47d815","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.0.0.tgz","fileCount":14,"integrity":"sha512-GynBlwLDLw5P0G6udkQA8kvzWRLjxgDpb5u2JsA8EIaRN06YJ2eYyXacWNwuLL2vsbbcAu8WFpQTOol4CdvVtA==","signatures":[{"sig":"MEUCIEwf8g5NtEZe25e+wUWv2Qw1Mic9PGb9DJWhfTI59sxbAiEAj3FmO0hgBp8ZZSnxeLECTgNc3HcJI8bIeIGXnxd/QFc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15340},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"6.14.17","description":"","directories":{"example":"example"},"_nodeVersion":"14.20.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.0.0_1701356442462_0.49514834102901495","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"multi-tasks","version":"1.0.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.0.1","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"8d06ee2f905b0d1365fe9ee4d4b105e76fd53b48","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.0.1.tgz","fileCount":17,"integrity":"sha512-X/rATzWAFveUfgvqrG2TsHPruKW3M/ysOeEptw6amg5SnrvQpmdxySEpd605Z40b5n1tg5TpCb8ev3aXI7Xp6g==","signatures":[{"sig":"MEQCIEocS1c/a39rYRzR4taStNHB1uff3eLTgoZsnEjpTULEAiBCLPn1P2ehhK7tgyOQMLKKhDA4Lb7pB3UqckfAZgquCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19752},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.3","directories":{"example":"example"},"_nodeVersion":"18.19.0","dependencies":{"moment":"2.29.4","make-dir":"^3.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.0.1_1701771583200_0.4452198844587809","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"multi-tasks","version":"1.0.2","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.0.2","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"a03d7fb89f57e893516507d45227cbc8aab03fbb","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.0.2.tgz","fileCount":17,"integrity":"sha512-RqNRe+Uqb7KHZ9J5UB//JNwlrxB2YkTxQL6Ra5ImhpwSuz9ojD3VjsvX4oS7tbqZe+LX2qDI0ehmbZX3YnnC6w==","signatures":[{"sig":"MEUCIQDIVXPlnqZnoGHzAPXa/4oR9fDzzZekvIROSaDN62LJdAIgaXY0cOqnU1K7hmc7wIDNZsfLclRqjoIy8fye/MyjfUI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19999},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.3","directories":{"example":"example"},"_nodeVersion":"18.19.0","dependencies":{"moment":"2.29.4","make-dir":"^3.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.0.2_1701772144807_0.3108467665589163","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"multi-tasks","version":"1.0.3","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.0.3","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"27a7e652a51a1c130921c6f5542feaaa794934a6","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.0.3.tgz","fileCount":18,"integrity":"sha512-hiYK254lx31IcVNrWvx1NyYbZche073eSlxrdBP/UrGtnJXGHxb9jlpVUS0OXLUVOH6Nw+BA/AhRp+4rc2dscQ==","signatures":[{"sig":"MEUCIFQFnpGASTNua2iGaRhZXx+etIx7TiBkJYSV/VwCW06kAiEA24P7IJU6nWrb5Nj485z/5aKUR8OpCM4W4gjPZ55NJ14=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26094},"main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.3","directories":{"example":"example"},"_nodeVersion":"18.19.0","dependencies":{"moment":"2.29.4","make-dir":"^3.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.0.3_1701865777386_0.8243582846430684","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"multi-tasks","version":"1.0.4","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.0.4","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"5e38bc7bd091a8ee00b7e274a8a6bea18131377e","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.0.4.tgz","fileCount":20,"integrity":"sha512-tWF46ZUeiGjRjT+NQ9EL4tl/6T1tVMhALTV34NRjr/9vDhj19LGm728goFLnYOmdWtEMKkQiBj4et5lXvfJBoQ==","signatures":[{"sig":"MEUCIQCyWu2uF4vCDLKQDT8zMCE8mwdrUA3mWrdAdfVRnpLRlwIgJdybfpe63oJkrJdJHTkqq/fJOK7wa98D7cbLMQyuS/s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27461},"main":"index.js","gitHead":"ee39e43d98d079a52e38b6ca6b0da5feea13fe13","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.5","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.10.0","dependencies":{"moment":"2.29.4","make-dir":"^3.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.0.4_1704198811655_0.029733343425910608","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"multi-tasks","version":"1.0.5","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.0.5","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"d39fd6712387d2c7a1923ad6240352d9a5950aea","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.0.5.tgz","fileCount":20,"integrity":"sha512-XZp+rDkJjhhXd8nRmAixEwc28hRn3+n4yn+euomNMwCjEGU0XZhEHs1JkJaaBaBRC0LLMw67x/XrdkxpVK+rIA==","signatures":[{"sig":"MEYCIQDIM+QR/qSxw3hanKkJ0MV8o8SQh5e+S4Zyx6WK6Jz+rgIhALsXEfaRcqRWPhODa8TnNuoOOSR8f9nUS+wcDA7mRa1o","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27462},"main":"index.js","gitHead":"d80700320a520cd89c9d1f016ed0c73957c18f40","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.5","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.10.0","dependencies":{"moment":"2.29.4","make-dir":"^3.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.0.5_1704201133441_0.1818664592823631","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"multi-tasks","version":"1.0.6","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.0.6","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"1157933500862abb98771910829de9fe90b46cc9","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.0.6.tgz","fileCount":20,"integrity":"sha512-1xzppu88p4X8kRgg3dlKBC5PcWu6oh7pBwkgFkRWharHEgOp3fbPP/NSbakfR8dqY7Nim6VHdKzsWj+bQZPzyQ==","signatures":[{"sig":"MEQCIEY67MVNic7puSt8R3+zAw31zp9XFv4Wdy1wQ4WzX73TAiAMalViIYemGdZABWyKEIn8rSjGI7j3fxEnWAOWtpefGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27771},"main":"index.js","gitHead":"1a570dbe29d51404dbd4fa41b65e52cb9127d3fb","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.5","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.10.0","dependencies":{"moment":"2.29.4","make-dir":"^3.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.0.6_1704218782615_0.03910705593219577","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"multi-tasks","version":"1.0.7","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.0.7","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"91e351ab5784de98544c7ad753c5abd98f3684ec","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.0.7.tgz","fileCount":20,"integrity":"sha512-Bw/blK27LchTjCAYN1OMmrYTtSSGtxmdlsJj4eAOAblPIYSQvwmTa2XugO2xTiqQsve/LE7DAUtY6yKFABMROw==","signatures":[{"sig":"MEQCIG9lNGQspgstc1NyC74rpcSYhWdPruwygC+1sv9rb7s0AiBcNY3VftMbyYQi6Ft59ePZ28JEtVSnv1Cqpk3EPGHp4A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28429},"main":"index.js","gitHead":"d718ebb242227eae645485d70db8ff8125b0bacf","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.0","dependencies":{"make-dir":"^3.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.0.7_1708927007085_0.6284584843138568","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"multi-tasks","version":"1.1.2","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.1.2","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"8d36fb40a0c74c004af713c52acbbd800978c831","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.1.2.tgz","fileCount":23,"integrity":"sha512-ICSzW54rDvvAcXd8pAZUdEYCQ3dsknhM+N+HIYOVEuuendbJ1K7wwpQrvN99J9u0iq/hRdGchRiXGvMT7PL7Ug==","signatures":[{"sig":"MEUCIQCjlbbFrTlemXmRhZpZGu6PgIKAGKDtMYzQFPXyD0EnpgIgV0OUIcEYYz1xn0J9fK9A+4VBl+XXuKSVuG9fuVyuokQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32431},"main":"index.js","gitHead":"9ab159891083b05b52b91f202d8f44d11b7c7527","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","dependencies":{"make-dir":"^3.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.1.2_1712149419063_0.07329261013735766","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"multi-tasks","version":"1.1.3","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.1.3","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"09bcf31bb1ee71f3e7ded7223aa6b2c0547a2b22","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.1.3.tgz","fileCount":23,"integrity":"sha512-Jy317SsY2cV043R83YcBj9vTrgc6v/JIfbeab8lLvbOMlcUpKDQ48SqmdMBlVC5gC4j6eDeb5cr/glsuMWMjGw==","signatures":[{"sig":"MEYCIQCEX2wm1JcqiTKi8cu8uRwn7kztJjoI09NMjrBWlne/kQIhAJnu8I+4AOPPZXT3+vIO7rgiZ/aCViT1ffDm1FAz6Oit","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":33723},"main":"index.js","gitHead":"d17126cef1424f697b8df5ac2df20f7ab41970a3","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","dependencies":{"make-dir":"^3.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.1.3_1712829684432_0.07198797376881383","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"multi-tasks","version":"1.1.4","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.1.4","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"501c5fb981b466733406a6f819e7914ac0fafb57","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.1.4.tgz","fileCount":25,"integrity":"sha512-NatqaDQKSJ1DlJG0W+e3xkDh6aFsRvnc03UPlIW+HBisiLd+8gvby2sOKvuI+I3HO4itL0Ryy1jzc7R14jx3FA==","signatures":[{"sig":"MEYCIQDe1viTGX+J/WpDD7UumnBL4e/JXkMJrMFrMZDVYYb7pgIhAOv97RKo87RAWpiqVxbwhNrS49IZAUpK7l7Q5c4m3hRl","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34464},"main":"index.js","gitHead":"8c063fde0f536bcb69e003f5e5a5a0b1d95064a7","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.1.4_1712837142787_0.7626678613626081","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"multi-tasks","version":"1.2.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.2.0","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"01dc80f63fdbfd6d5899680dce6b53f26de41e8d","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.2.0.tgz","fileCount":26,"integrity":"sha512-a9REGAwAVTu2F6vWX++ek8a2MWxgSZ59ecNouF67VYRwUC2N/Mk2W7Iq9cPhnbl16aa6BqR7RGWcthaIEwpgZg==","signatures":[{"sig":"MEUCIEogPSivFsp6TX/eyOb7vwoY6GBZ7TA8cT23eY4A4IrTAiEAsLu0+TfT7okZ4zPOLEE99LMXM73CAD/GAnjF9fcsVtA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37705},"main":"index.js","gitHead":"716c1bd34539f177f0496d6f7cc4d84da980c9b9","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.2.0_1712903264790_0.20147517602648257","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"multi-tasks","version":"1.2.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.2.1","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"3f1e10e738f213e509e9ba7d45aef778bb745ccc","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.2.1.tgz","fileCount":26,"integrity":"sha512-BSclFfAohTJUEPWz6KhHoqLDFQHbxJ6uhhdQHXhy8R43MowKShNEpfFR59iel/nK4+00UKLwJngg9BX4Aokc+A==","signatures":[{"sig":"MEYCIQDKD/4G+TvKBC7mtYTAnd5jonqbmHAIHstd2PtA9d/bnwIhAPh5WTsixWviowADzA0Ytfay4QtyE/p83Yim3yFN8LZA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39626},"main":"index.js","gitHead":"2f2e0bc17c8e22ca7c8c3abb40b85cb29a0d0edf","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.2.1_1713086672264_0.6934860268823371","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"multi-tasks","version":"1.2.2","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.2.2","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"6c148c70753a18838341d5ae20444fe549a12d09","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.2.2.tgz","fileCount":26,"integrity":"sha512-bFMciRkO/LSljU1/EgpdJFMr++doIvFIiu/Mi5pirc7mlYGk2+ACMEDpgIkh1GIShwTUnftbgzR4BPzgAFwfYg==","signatures":[{"sig":"MEQCICSi1xXya7WXfuOfO3NgOiBMMAfE9gT5mvxWwG50vxWRAiALKKzSz2VSHopAZA382Cm0tSgtLqlyOx+RoOmb1Q/1nw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40468},"main":"index.js","gitHead":"b2e3fff9d8810fd1f038d93f5a9e9982130d3740","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.2.2_1713088088346_0.5359080006760548","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"multi-tasks","version":"1.2.3","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.2.3","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"cf58ae57144f7bacf0b3f91bb5e072658d1747a9","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.2.3.tgz","fileCount":26,"integrity":"sha512-LRX4keH2zdYGp1HQqPwx1JiuQOecja2yF1Od80yprcWOz73KL8ZYDxVaDCdMK/5mg/X1PjeGIQRvWgzaKarnQQ==","signatures":[{"sig":"MEUCIQC43B8u91ABAf/U8uGwY/s1eiQSwkj/PjLIgSGm0+tAigIgCdgeU9VNTBEjwmQQsrdsg6RMZDyaC1/JFxU9YRqbOFI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40493},"main":"index.js","gitHead":"3f16f1a4acd7268b3f2b5a6a15f2a32165500e25","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","dependencies":{},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.2.3_1713088911343_0.3707998561268824","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"multi-tasks","version":"1.2.4","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.2.4","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"65cbff8e4c39ebdb35307b2d729cc13740831af6","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.2.4.tgz","fileCount":27,"integrity":"sha512-CDAEDNhtMPVKFNuFt+tZYX46Vb0W/v1s/mobW3N8CVXP4RESg32PtsuKdBY0HlRiK0cOVCrES48f106bolCf5w==","signatures":[{"sig":"MEUCIFh//u1vb/3dI4O2U+GwZGOSyTXtP97ZKkAwMJNMaRn0AiEA7DvWWusXVoZi0JChOi1+vuBf8gymdV/KF+TDisO6lgo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41110},"main":"index.js","gitHead":"9ce740432259700ad46f2e76900d01b48c8856d2","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.2.4_1713173441015_0.5819107991423114","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"multi-tasks","version":"1.2.5","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.2.5","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"f19eb87581aea08b04fe5ea27745dc66e76e66e6","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.2.5.tgz","fileCount":27,"integrity":"sha512-nWfUnGUuvvfdU3L1qr4r0h9R0Ma9zIs1dxLbuNTL+T/J1C8BdFEIdOUa4B41GaNR5Iz17QYvYomgUeOmeTg6Zw==","signatures":[{"sig":"MEYCIQDkp/a30Lk6WqSHBF2JwFcp/dJeVssWGtKjNGQlIOg9vQIhAP+zwKRc0hwshQzqGhDtZaD97Ej2GwVgC6h14LqR9dN/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41359},"main":"index.js","gitHead":"47d7388999a60bfbad02ad7b7901fcb1f3d4a52b","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.2.5_1713174107936_0.13081342445304078","host":"s3://npm-registry-packages"}},"1.2.6":{"name":"multi-tasks","version":"1.2.6","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.2.6","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"7bf271778691e390f2bb9623c092329ebbba9ab7","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.2.6.tgz","fileCount":28,"integrity":"sha512-+5QMXqub//2xSJmIsPGRoJGdv4I6PpE/i2uSfVSiYzCb5ybGEkKljxL4E7gWU1DK+Z2wOLpnSj9Fu6NiG0FgjQ==","signatures":[{"sig":"MEUCIEkIlvbIRwhTA6wEouOsroSGbf6jP6382oLEPgssF7XIAiEA0LzO4zOAKGTUNHy9LmOuH8oJ7hi340PswAL9x8BPf7Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43654},"main":"index.js","gitHead":"07e693d67902b198c8d4fa3382e4ae412402ac7c","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.2.6_1713254086865_0.6296033610927669","host":"s3://npm-registry-packages"}},"1.2.7":{"name":"multi-tasks","version":"1.2.7","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.2.7","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"7ba2fb3bd2f9112df167183c3ef47d62a459bba4","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.2.7.tgz","fileCount":28,"integrity":"sha512-QCNctKC3TjVO3PV/1KjDcy0Z+bAq8aUv0lIRJfjdJPxAvJ+yeVKCVZVDqn0ZCOlNLrClsJNleeB01cb8xUgLbQ==","signatures":[{"sig":"MEYCIQCa63uQy1PKCB6G80w7QCwmRIiHybnnmZ5pw3yelwX5tgIhAOfg4YIKrOemYlYpVzv8JbPa8tx0ZUCP5oVjtX1qDnr+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43630},"main":"index.js","gitHead":"d728bfd811cc8a4c3f840b53d71a46520be6d7ef","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.2.7_1713256169689_0.8698433116712649","host":"s3://npm-registry-packages"}},"1.2.8":{"name":"multi-tasks","version":"1.2.8","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@1.2.8","maintainers":[{"name":"zhanglei923","email":"zhanglei923@gmail.com"}],"dist":{"shasum":"11bf86f695ae72ffce1904c637b50bf1600c2c52","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-1.2.8.tgz","fileCount":28,"integrity":"sha512-sL026AI2i/RFt35/599rI6fH+Z3pJJGMSslih8VQVa+zDG28UsIZDGDc0IbgWV+WZAt17ZmMDWe41vl4Kj80rQ==","signatures":[{"sig":"MEUCIEcEmidsQWQ24KQN64IS5HfgNYZE9rpCullHE3shvzD+AiEAhOlW1KmAy1tdVn31uFiFIedFy2e+zvBwx3dZ1tm6JaY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42554},"main":"index.js","gitHead":"a0e5c24ed82ae4d4d2b163939d562cc7cae05d2a","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhanglei923@gmail.com"},"_npmVersion":"6.14.18","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"14.15.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_1.2.8_1713744032885_0.21056327463683044","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"multi-tasks","version":"2.0.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.0.0","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"2e9bededa2e52f59f6f3d02c389a0b62f4b3cb13","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.0.0.tgz","fileCount":33,"integrity":"sha512-VHTSWAmZTILU8uG47gt3z0UMMQtCMwZ2/8+05gfjPMvApnf6v9sSxzySjqWAKDRzuVCJHUNOZE9WaBDvdZcu8w==","signatures":[{"sig":"MEYCIQDaaAjW79sWoKWO7/jZU6y6/Y8clw1z2mYWbtETm0cLFAIhAMgA1vun7pp7jnHKxhO4aD6b/vjMoIYJPXcuVFazXVxC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51468},"main":"index.js","gitHead":"271f8fbb91157e2ab22fd5986fdbf863e5d98f3f","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.5.0","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.12.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.0.0_1714997754542_0.47609725300204553","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"multi-tasks","version":"2.0.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.0.1","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"c5ba85b35f06942e60d9c7ab7223bb1228d5eb5d","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.0.1.tgz","fileCount":33,"integrity":"sha512-nd4+63cq5xIstq2uqAy4BJiYRjQH7aJAUYghX28/5BrqePwpUkPy0NwSdTeYo1tYZDgz+JmXzPDW2TOzkIJAgA==","signatures":[{"sig":"MEUCIQD37nRwpehEz3bSvc8YHlZa2rS+RetwpfZoKG2Xg6sXcAIgXc0s1K/vUMj9RzTG1fPgJf3Ow96WFlHKAoXXkJ/acRM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51352},"main":"index.js","gitHead":"51bb4bf04735dc118038a1ceb25387cc88ed6797","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.5.0","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.12.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.0.1_1715300903063_0.473420987159052","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"multi-tasks","version":"2.0.2","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.0.2","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"6694bca2294cde5ce6f2edf66eed8701b9a3f0d3","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.0.2.tgz","fileCount":29,"integrity":"sha512-m1x1xx44L41SEedPtc9hvcKPN8cqJMaF4GDpyBIMW3E3CNJme+8HUCHdMZLrPSw1a7thgaxoL6PLsqj2FoQ3uA==","signatures":[{"sig":"MEYCIQDJEgWp41Y595yhHNuMhBNRodQmx36ESCPKMVoxiyDLMwIhANrM+vh71ClpbhDlIfpvmlHtQzuyKymvEhhYWCoUc905","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43163},"main":"index.js","gitHead":"9dd2721797dc149e689f3223537246856a1a4f55","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.5.0","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.12.2","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.0.2_1715402167719_0.7659616361484529","host":"s3://npm-registry-packages"}},"2.0.3":{"name":"multi-tasks","version":"2.0.3","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.0.3","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"c14ecfaad8fcc561cfced6bdcd4683acf907db8a","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.0.3.tgz","fileCount":32,"integrity":"sha512-kqAF4dCc6DycEM4XvYvzk+C08mTbif7LjeD7aDDcA/mrVI5w/pW5xTiPz7l88bgN1E+vGnaYFK/FLIikUjXaPA==","signatures":[{"sig":"MEQCIDbAATa1CgBzBS0d+oYIJs1MmBx3mxFNHtz1as51+Uh5AiBUH5k/t5QK7rnB6U00IZHLe4XeVbAgtqeJekcvFW9YQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49867},"main":"index.js","gitHead":"bad55a2566e969ec1777edcf9231134b1ea10208","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.0.3_1716538352151_0.09940843157414592","host":"s3://npm-registry-packages"}},"2.0.4":{"name":"multi-tasks","version":"2.0.4","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.0.4","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"54f07fb3c5bad7993ba2d0ec0fc241ca90af1c2c","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.0.4.tgz","fileCount":32,"integrity":"sha512-vPLphGp2FVc36YFa96uJFRLDXpfYBo+gU9puu7mC/4cQbORpbro8bz1Gs16PUrxUvoSkqpJzYYwx9m8n0a3f+g==","signatures":[{"sig":"MEUCIQCSp3i4SxlKoB0GH3rYrHrWJYSceItOWA+OYlKOqZw/7AIgS2IRQ6gc5AFnfpioTkf8qa3Ee9LKpxBdsh5y18fNJ1A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50493},"main":"index.js","gitHead":"0dd70415cc45c55667488ea3d95f91dc77aae7e3","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.0.4_1717461104221_0.9964627646724997","host":"s3://npm-registry-packages"}},"2.0.5":{"name":"multi-tasks","version":"2.0.5","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.0.5","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"ac11c898cfd5464b493ecf602ed5c45a1a3889dd","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.0.5.tgz","fileCount":32,"integrity":"sha512-ipoD4u6+78xD5RuUfq6fLyz+SyHvzJqMtev+ko+EIdD0vxtygcCZGE/pwxj0FzjQmWT79CAEUBLfCCOSF9SGMw==","signatures":[{"sig":"MEYCIQDTDfeJRq9oxxZksjaqg0+THPLPGfT5BONqeCmQ8KoDBQIhAJKmJfk2UHRMML0oCGp5uXOSDp8wkV0u8UuAWki8hWjo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50571},"main":"index.js","gitHead":"40aae5bf5a50c8bc63063538f373023d1752eae9","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.2.4","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.0.5_1717461960958_0.2378156057545795","host":"s3://npm-registry-packages"}},"2.0.6":{"name":"multi-tasks","version":"2.0.6","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.0.6","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"42a946b5b2d31171fa510a73df8a7cb18848c49d","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.0.6.tgz","fileCount":26,"integrity":"sha512-gu0b6L6LCylVHUV1nnGHA/spM+O3mETLX01NUs+6sHxD48DeMEPGr0xxhIDXUVl5Rw5HuGQY5jsrG/EGjOkl/Q==","signatures":[{"sig":"MEQCIHIakP+Jr65go0dWhIZNyRLc9I8P+6PgxIT08qZme3uKAiBJItFvHkHezm1aWr8o8MCFq9ZBzsYc+9AjcdETxJOvPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45143},"main":"index.js","gitHead":"525304ca5cf3e52cc582f0fd8fa9c1f7a00ccb6f","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.0.6_1740044118622_0.8174330604819744","host":"s3://npm-registry-packages-npm-production"}},"2.0.7":{"name":"multi-tasks","version":"2.0.7","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.0.7","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"e35836a7d57cdef5d658e1dbdaa2bb654ff8ca10","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.0.7.tgz","fileCount":26,"integrity":"sha512-oM4FyXbSNH8Pixwmik1vW0f8GIyAFUkLoW3oJl8fmQtqXMoFUxt+dcI77qcHGYokEmSVelc/e3tIi2WgMVu6pQ==","signatures":[{"sig":"MEYCIQDuYoEpHMZMM8FLu8gESxeO4YLs7QvEbmMnp4sXsvZaZgIhAOZGITs+X4sQsIVxZkM3nIWKtiY+wG3cRw+61blNHyY0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45216},"main":"index.js","gitHead":"600a1b03c59f68219391226847407c4ac972b942","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.0.7_1740044265179_0.7184551688908247","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"multi-tasks","version":"2.0.8","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.0.8","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"a8d76253b15273b78c03e4bb790b10f992a56af1","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.0.8.tgz","fileCount":26,"integrity":"sha512-/0iZl9ixao2ck2MveCEv6ZtDZN1NEE+iLLDi1FeXXukJkme8yRtuzBTRQXuu9d6ZPrLOZaE4vQzP0HxWoCcZKw==","signatures":[{"sig":"MEUCIH69wIm70aoTU3xtFJX5GZKCq0Zl/u7BDMqMT5brJn86AiEAx/qQ5sbmuF8IYWU/Fe47g8UW7Ms8wnB2t8fjFtagDNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44994},"main":"index.js","gitHead":"27a5e45426e1a2d2a32b2241a8976a17e34b0e13","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.0.8_1740044474682_0.3141429209485671","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"multi-tasks","version":"2.0.9","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.0.9","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"5968cacd248af712d3069efaec9f205bf05b5195","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.0.9.tgz","fileCount":26,"integrity":"sha512-L+89n6i0/yMAbcZ8sVRfSsubpsLdEAMSaZ8oMGuqvFkBLF7rNwR+eNIqaEy0b0RVjzcTFWLHjs6mFihHhzt8QA==","signatures":[{"sig":"MEUCIQCxpIa9jIhubYMPxq4PL4AnXB5mf7szHNE668CKLYPBQgIgKAmt9r80i4WlWdwV2krnhS5CV24RagrJaksCr+Vc9+k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44693},"main":"index.js","gitHead":"da3940c2d5cf0d58ee9e00a7186f74b6e1b3f44b","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.0.9_1740044833314_0.14728707675236574","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"multi-tasks","version":"2.1.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.1.0","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"7952dfca656e4d8683e96394b552ce9e765f8efc","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.1.0.tgz","fileCount":27,"integrity":"sha512-1XGw0M1XQp869GeKM2o4Gu+O+tNwD07yj8JeOnoPLlo07sbCiHnk6wUNzwEaY1bOFh8xJbMQBYJ/F/B139PMvQ==","signatures":[{"sig":"MEUCIC890lLoOUvHSRZyB4m/Zqq5Aop8luAPUg6bXHQWSL1eAiEAwk0q6nqx22y44Ju9Jd+FTwSkvtDnZ0BgTaLGQUUy9+o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48091},"main":"index.js","gitHead":"41c30d7b61fa685043017000042be99c2387b337","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.1.0_1760442225640_0.7681409418734955","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"multi-tasks","version":"2.1.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.1.1","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"e57a92c737e847c6b4c20cd28e551d99b83ec153","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.1.1.tgz","fileCount":27,"integrity":"sha512-BNVZEWDv35xbT+WHdzuq8nHxz7z9ECqH6DqcvBizS+DeI3V18ZKKXFiNNWA6WUwHv4DFIqgReXQd5M++Tj9Dlw==","signatures":[{"sig":"MEUCIQDQfdsTwED4rN1J3RMb4Pw9BXmBSxjoQGSI8Qo6vEViVAIgQVW+ONcEJ8sajt08z1zOeCENzK4RFxTErzb1S4ybqfM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48542},"main":"index.js","gitHead":"4f9e7b102d0198f5ebd443950707b2753b9cb5ae","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.1.1_1760512620307_0.04516008227445267","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"multi-tasks","version":"2.1.3","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.1.3","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"574546faeecbfc7d95d2951ddb4f2e1120873a78","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.1.3.tgz","fileCount":27,"integrity":"sha512-9+Oh5AqZMXGk0vRLpcUxUUC+8EYps4OZeRMIYDPluYNm0YiWE0QzGiaqNgyGMoIqRc4TQ7sodQQ6VohFh0G9iA==","signatures":[{"sig":"MEQCICwGy2FE4JMVl4ptwETjyfV63eITp31EeoPr520xM5i3AiBy2K+3y+btzOZWMChpiOePAGBO9BkcO5YjrGVIiIQtjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48654},"main":"index.js","gitHead":"5fb6041218856b5ec3d376773cc6538aa41bdab8","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.1.3_1760535616084_0.3062271576154292","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"multi-tasks","version":"2.1.4","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.1.4","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"bcda3dc2ffa6ab407dcd87f6a9ff9ffabcff4c5e","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.1.4.tgz","fileCount":27,"integrity":"sha512-NCLJYFRKmRMVMkrEBbTvaxo0JZvVy+HOoL1Mt4rgMy7Okd8BIK2R/M5uBxhdhJx4LZPkgL/XohMuP6SbPosD/A==","signatures":[{"sig":"MEUCIQCPDuaIzcok0gMhM51u/QE6SwHk88PnO5mqApFUwarZ7QIgVL23Ywv9PvvyBik0yp59JscfmlMEQ6R/yf4IYrZ2WEM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48654},"main":"index.js","gitHead":"9a8b50fe0b6eb443c3690b0c77c2b73ed999d81e","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.1.4_1760535666181_0.5888959724986857","host":"s3://npm-registry-packages-npm-production"}},"2.1.5":{"name":"multi-tasks","version":"2.1.5","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.1.5","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"96832a250dbf2ab0ec797c99426bf33225696f0b","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.1.5.tgz","fileCount":27,"integrity":"sha512-93MmRO8NGUAFZSqqBXY4g5A3caXLh3rkAb8eRl9Dd+2GXru3KQSmrxoy6UTr9V09BvhVmo2IR2fxzB6GgHO52g==","signatures":[{"sig":"MEUCIC1Buy1wPA2MZ4d5o4xDkaiUspLMpsmJbDJEue7+y/CrAiEA0ja27zM55BFJ4UUdEboVt/SpKtVETv0eW+jkoDqwoTU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48650},"main":"index.js","gitHead":"1c3d9dd27ce4c8ce399d210859ec1bf5279bb5e3","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"multi-tasks","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.1.5_1760535779785_0.49621473809523375","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"multi-tasks","version":"2.2.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.2.0","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"40f1a17214cf8583b3eb4728ed9632fb3ffc4be2","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.2.0.tgz","fileCount":27,"integrity":"sha512-rOyAJ8Zs3RKftRtPyt5z8RAR4HzrfftsadjSJXAqv63KVtAePv5RBE2lOwYCNEVw6CiOP4oYpURtaNbQV0TdfQ==","signatures":[{"sig":"MEYCIQCeEpelxcveQq7zby65QVJQKNCZlcCK1f9IjwpB0tiQGAIhALAbyNKX0uvhxQVWuEeSVjgEdv3pWQlqPCOqsWqnZmMH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50258},"main":"index.js","gitHead":"2116a91bd7851962e23cfc776728a3d1059cc914","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"Multi-tasks is used to handle long-term and large-scale parallel computing tasks. It manages progress and tasks based on the file system, which means that even if the host crashes, tasks can be resumed based on file records.","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.2.0_1760942773288_0.17334751402633608","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"multi-tasks","version":"2.2.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@2.2.1","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"97db28392e278717f075f5213bb1cbea4cfd59b5","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-2.2.1.tgz","fileCount":27,"integrity":"sha512-Sr9xqVJ2/W1sfPeXqY1BqaINdpKuTpPwntfbUT6BTYEe4r5+1M+eDY59Lnqt6c7TVd9KgP2/6ncNlr8l03tYZw==","signatures":[{"sig":"MEUCIAuGcfIcwhkGRAnT0Ea395zB4ShBXVznh7c21swjsOofAiEA8/HwreEIRF8FtV6J4hIFGnEdtM24VuxMGmcB4m+liGE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50263},"main":"index.js","gitHead":"521bb85407b974297c9e2a02a21ff6a799c8aa5b","scripts":{"test":"jest"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"_npmVersion":"10.9.1","description":"Multi-tasks is a toolkit to manage long-term and large-scale parallel computing tasks. It manages progress and tasks based on the file system, which means that even if the host crashes, tasks can be resumed based on file records.","directories":{"example":"example"},"_nodeVersion":"20.11.1","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_2.2.1_1760968624143_0.5613597906945176","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"multi-tasks","version":"3.0.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.0.1","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"8293b3e00862e27e37093961e5bfee9848f8ac70","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.0.1.tgz","fileCount":14,"integrity":"sha512-HzGmB//U0GIwCTYyEZu7HhuCG9ZY3GQxo17FvlFFcYvkkyGDEJQo0jRhV9t6yu4g1Fhxthirwy5Esb222W9pIA==","signatures":[{"sig":"MEYCIQCCLcJqNMbVob1wC5tRQkcOpK6NzRlZA9TUOd1xV1lQ5wIhANhCXNH8bgCBQEdCYVN0auSz4thwcQUyR5Faj0t3ytpJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34542},"main":"index.js","engines":{"node":">=14"},"gitHead":"e256a028a38bd10dac98727e568d62ed795e2402","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.0.1_1785608131638_0.21613649524341882","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"multi-tasks","version":"3.0.2","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.0.2","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"ca959668cf14572ec4c47497e85730e7d1b618ee","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.0.2.tgz","fileCount":14,"integrity":"sha512-twCV8HUKY/ez2EW3TrwuP55ejmIp4R9ZW4ShppWT9zGvBCzATI/ruMvZ27GdmYaLJd19NhYDwhTGYmSNEGwBdQ==","signatures":[{"sig":"MEQCIDUqJQRoVfToLmzfHouOeU0gSdU5+slsKG9T+ulW0vDgAiBJOTJeJYVfhRf9nR8eIuEUQ47ETsuFI5DmWf4AH2K21A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37912},"main":"index.js","engines":{"node":">=14"},"gitHead":"70da8533bce1dc5915263d6d62098e68a4666746","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.0.2_1785724451453_0.5576758446792487","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"multi-tasks","version":"3.0.3","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.0.3","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"e216f549a41c4d39073682f0c9d8ecd5a094e446","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.0.3.tgz","fileCount":14,"integrity":"sha512-cINDLlWRu//MfG6Jmw4cp9C3YApnsQJdywdzDn3kG1xdoDoI6nkZZjGooB8MPsotSwltkACuAQDDiPByNmHsgQ==","signatures":[{"sig":"MEUCIQCzqpzDkExQd1cmPAngO5RlbAH1cZRXkhDpBEIYmF7CjQIgbSpOHOzp3F/7lPz4vfdCHW8bkAFY1+50YA5PFYoLLcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44129},"main":"index.js","engines":{"node":">=14"},"gitHead":"62f43ee313a2cde1e977b734e5f169a90765a43a","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.0.3_1785814866784_0.03637705448501016","host":"s3://npm-registry-packages-npm-production"}},"3.0.4":{"name":"multi-tasks","version":"3.0.4","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.0.4","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"872009cb4a1d2602da81766d715242f7b7b3814c","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.0.4.tgz","fileCount":15,"integrity":"sha512-JB4s8CNTkETYEghRzszr1E3rm/rQWF1iyJkP80kLB6fL3OPIRxcQnC2fPPstKrTwvROEHhR6gvQjvinj8cQpSQ==","signatures":[{"sig":"MEUCIQCAP1EN/sABHYwYgYxCj/QVI2sZhN+Sr99Zx8TXA6+v6QIgHeiLETxoufCylBhByxFa0toR5cgdrnLXZNJw0zNPlpg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45446},"main":"index.js","engines":{"node":">=14"},"gitHead":"d2d6014847947620dcf7e72b46e2cc69c5099085","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.0.4_1785829430641_0.41402299136062304","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"multi-tasks","version":"3.1.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.1.0","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"8ee88df0a3f292df2677a52c1dac84429bf0aa85","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.1.0.tgz","fileCount":15,"integrity":"sha512-CwMdNuX6SZ32E1jb3v8o5jbBpO9uNkqYS41taBjJ6xfS+Cs5poahMZSIrjcNvPR8D1dFOQJ+byLcj4TbUUAX6A==","signatures":[{"sig":"MEUCIBSg3u9qHjBE3nRr82nZ8bXq+oiJWIImZEv19YUum6ogAiEApx6ctcYj2y1Uo8T3GLYt0OSDX5DAWIhICHy1V8WER6o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52768},"main":"index.js","engines":{"node":">=14"},"gitHead":"51c130faa0c80f7165704527502cb0ef75b76989","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.1.0_1785843334460_0.6671199344501859","host":"s3://npm-registry-packages-npm-production"}},"3.1.1":{"name":"multi-tasks","version":"3.1.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.1.1","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"e8025e0a39c5c97929fc566a2217a430385b82d4","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.1.1.tgz","fileCount":15,"integrity":"sha512-L4a/0JYRKmb50k9MomVaTJlt1iip+f/NhAC2Xrgtbqh6rbK5oSWZBIYha9IHOKf+RWUzktSZJIz0YVHwL4gm0g==","signatures":[{"sig":"MEQCIB6XjVcV0Vc/sG7GSod7ctFnEUQUJoFumXFno1zjbDXFAiBmtjFbwRr9pGGn8aForIzwAiNyxgtJiy3dS/bEbiWGnw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53091},"main":"index.js","engines":{"node":">=14"},"gitHead":"6c32bef3a98d4e96f43e36eb17a1bcd656c1e1f9","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.1.1_1785844088652_0.9074635481293845","host":"s3://npm-registry-packages-npm-production"}},"3.1.2":{"name":"multi-tasks","version":"3.1.2","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.1.2","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"8fcd79a3e9ee4764e7ab487620c87c561a571e3c","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.1.2.tgz","fileCount":15,"integrity":"sha512-7JGiJMstDK9EZ58Q7gvg91yjoKZqQWgIi0IUqIioBAwSptlZwCDalaydu1iLhfqa0I3YrYgAhhyHUJcPYlEMyg==","signatures":[{"sig":"MEUCIFLq7964g65aFenJKROVuCTo7lQDnu83q6v5hN131RrrAiEApy5JKb6nglk+NtwPpTH7V6ZqELim3Omi/8MY7qoGSMo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51597},"main":"index.js","engines":{"node":">=14"},"gitHead":"6a52a48050c4bdb8bea37ddbcd828428d9cf5111","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.1.2_1785854604479_0.4432958272999068","host":"s3://npm-registry-packages-npm-production"}},"3.1.3":{"name":"multi-tasks","version":"3.1.3","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.1.3","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"d01cac20152c7bf484e28178e76aab63d87b5b03","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.1.3.tgz","fileCount":15,"integrity":"sha512-pW8+yzvBnTvQ+g7x/uQBVO1Ne2TQBbayPI49+fIEwpVNygJTEpXh1Rm1reKi6nWpfOpdXmLTKzibGvVjFkWnIg==","signatures":[{"sig":"MEYCIQCgbx9s4eMz7Z7ltf6h8Ugk5bzOIa+ogUh286TmczNC6AIhANLT1ArXTcw7tKA2V8dyvGbGy3pLR+UQ3hzg59bb3PBm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51940},"main":"index.js","engines":{"node":">=14"},"gitHead":"d37dfc9962a6ef35d67ded14a4851d54616bf263","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.1.3_1785856072793_0.4941895910668497","host":"s3://npm-registry-packages-npm-production"}},"3.1.4":{"name":"multi-tasks","version":"3.1.4","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.1.4","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"92ace2d278b57e0efeb1bacac529bbc9c766bf37","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.1.4.tgz","fileCount":16,"integrity":"sha512-VF5GKX0BSsQ2I333MNscoOWnO1eaTZrMQlCTOS9iRgkoLyaDlm5RVWgTM6uPkIazYgHjphRqYOiwdexT16Ltuw==","signatures":[{"sig":"MEUCIQDJwurI44fQuxO5ikESxuP8IbN3Iz6PA/x4pp5GfC7ByQIgMMbtEb4Rnqzc+VMMnwqRbCLTFtWexj8Nc3heKaREjIE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60548},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"eaf940ccd1c9fa47e8e43711f1f047ba8a86123a","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.1.4_1785930264359_0.6534608104226338","host":"s3://npm-registry-packages-npm-production"}},"3.1.5":{"name":"multi-tasks","version":"3.1.5","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.1.5","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"7b536cf9f50159b4da1cd305bb01f857297c5b48","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.1.5.tgz","fileCount":16,"integrity":"sha512-ZcxP4nGiExtA2KLIgEXSkjMfiaLRnwlKqcB6npi9vF93KbtvXFaWPYyv5f1krXwyLjzkCyWQxZ5miJOgwhWV+A==","signatures":[{"sig":"MEQCIDxwpqjMZEKYRU7Dql6kSMNiTmvTS+zBF8bqE3yNrXEyAiA6YUKz2MhLTOx9N2janYpnWuSyIvgTLrlU9qn+VMJ7VA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60906},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"eaf940ccd1c9fa47e8e43711f1f047ba8a86123a","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.1.5_1785932043863_0.7381464028155109","host":"s3://npm-registry-packages-npm-production"}},"3.1.6":{"name":"multi-tasks","version":"3.1.6","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.1.6","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"e59443e8c7e07ac5826f591fce12cdd74e215cd6","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.1.6.tgz","fileCount":16,"integrity":"sha512-ULkE/ObFn1DD8CppDBbH7fCDRGB68wLtwnN27aoADe2Bk/Go9MSW+zVxjWEubjjxnNeCtbuP1mnHtX/6wCY4mQ==","signatures":[{"sig":"MEYCIQDmEaFEyKWeNSjUoqAjOxvCqjarCqlXhath5bQc0ftoEQIhAK9VN1qWZBW2OREccCx9GYmllwqWLzsCuxQxwrGHuY4L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61308},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"a1e861943f1f89717bd1263d674b66ac56abac4b","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.1.6_1785934301852_0.7432038475043823","host":"s3://npm-registry-packages-npm-production"}},"3.1.7":{"name":"multi-tasks","version":"3.1.7","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.1.7","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"0218ca8c9960f41566b1e65c385edd63c56b81b7","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.1.7.tgz","fileCount":17,"integrity":"sha512-bVV+dpQW5bJx1LqgykAcXLhhkVFvBAfQQXNvnCeHOb4IKyrqBu+mehZvzd5CUzQsouKxGb/0eo6Hv5lUvVT7JA==","signatures":[{"sig":"MEUCIQDHFZzAtJ8dP1rjfsSYDZ1aCOxJwyZu0EmatJRMjiSYmQIgZnHfVC4VfZDrluljn6Kbvy3zD/Fz+KX/eVQaiVeK0pc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66527},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"254698f27d83a05bca52f7cd42de46e08287a4e8","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.1.7_1785947038884_0.7649055534014813","host":"s3://npm-registry-packages-npm-production"}},"3.1.8":{"name":"multi-tasks","version":"3.1.8","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.1.8","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"38829bd375ad669791fc008634d06d489b62f90d","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.1.8.tgz","fileCount":17,"integrity":"sha512-qANIfe1ooLVKFRyqqtGLUkRqUtqkx9y8Hne8BWLKH95oGVjhr3AZqUrFjb86JJ2aN3cA9CIedUKkbExOLo4exA==","signatures":[{"sig":"MEYCIQDvZ+SvQ8ha5vbDcPekj0pPAZmqkKc4s09gK+kbDPsTTgIhALGNbaqe4cZuZQVV/ysmlYVbxduCz/uXpiJ/iddFeDnD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":67930},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"67871c41cb39e8d32e0c5e95747737e8572d97a1","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.1.8_1785954902144_0.7529160874560707","host":"s3://npm-registry-packages-npm-production"}},"3.1.9":{"name":"multi-tasks","version":"3.1.9","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.1.9","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"b976b595ca7d4477f031bd5428bff7915ce61e7e","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.1.9.tgz","fileCount":17,"integrity":"sha512-XHY+ZQ4ATGGp1ZRjwmI1z19C+N3AEOWejw37uKWHXObxuZ/LLCq2Z1f/nWol0yoJOqQ9Sb/oWENZLfZZ88mTdw==","signatures":[{"sig":"MEUCIQDWWq5uosC2XqWCCOwaN+HVDVIec/FG5sKP0MJLyEWIOAIgQJyJb6fFKMZiVvbLs4wuj1+C8pN/5A9RC/Jzw3MDrKc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69592},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"39b1943f13123fc409c2154f92900c471d2420ca","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"10.9.1","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.1.9_1786026965270_0.10350881648924748","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"multi-tasks","version":"3.2.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.2.0","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"ae146317ca7bd80f639103713a9a61b0daa7e11d","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.2.0.tgz","fileCount":21,"integrity":"sha512-6WPSsqTWw1dfHxsPeTuveuZ34T2d6M//KDS7Oluw85iuPd/9ZmWf8GG3Cyd8MM0WRCTSnSAJRwFfZm1oC+LbWA==","signatures":[{"sig":"MEUCIQCLH28ESVtUJbRHckfNQnKkAJ5JfLNWmZHwcoMMZW8PCQIgB/gyK1qSW7fbHEvMB18rBQNBKfnzpWoV0TG5IR8Gl50=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85527},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"39b36d486d2a546013c3c8fba27c2020bb0b6aa3","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.2.0_1786087442233_0.5505589180529633","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"multi-tasks","version":"3.2.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.2.1","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"00278ec2db005c67baddc0be1c201c022b082bdc","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.2.1.tgz","fileCount":21,"integrity":"sha512-3VoPPr/lya/B9xGDOI1PxpsrKoMM8rOcj+/eEllfiWEyIrOCDByzz6pxBMAVih1kER0u6kqHokfTm/zVW/fshQ==","signatures":[{"sig":"MEUCIQCd1/RbhPj+gjJeCF8YTzTrM8emvaAST46MxmQv+nJCQAIgNHeyIKssuBkueQA95/PZR1LoeVVQ3sTpqcqDh46rXk4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":86043},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"1acb118632456ebfb28f23592bc31f9664367af7","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.2.1_1786094200635_0.09444002971908705","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"multi-tasks","version":"3.2.2","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.2.2","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"5e09db680a4230417f32a76c3e6f575767b6020d","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.2.2.tgz","fileCount":21,"integrity":"sha512-LsuYhj92mGFoztm0m63Sc0RMgzvPW2YOaY8xynmigArpIEhTfi7dBeLcrNHyq89cBq9aO1byEaUC3AuOySCxsQ==","signatures":[{"sig":"MEUCIQCFcb/8gRFkTaj5ffVgG24ykESzWABvUnURLsFl0soQSQIgQN+24HX29XPFL7qZRdlcr7ogWJRIssMnaBLee78f4Uk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90029},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"92f32403e2fd3f939b5f64fc73d70ce662e88c4d","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.2.2_1786121329940_0.6773746743441931","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"multi-tasks","version":"3.2.3","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.2.3","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"18fa7830582349f83668719aaba51c9cd8b86daf","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.2.3.tgz","fileCount":22,"integrity":"sha512-dvSL2v/ahgzPkyjfXPd1dBBkqNIz3yF0sJGQ00VTRti/2X8JrME248GlsRYfOXbqJY+ZoJiw0mMsFFLrw+bPZg==","signatures":[{"sig":"MEUCIQD68DS+t5MgdYEer5LDc4NZbvWKeAtEQv/8keKiMRLQmgIgJXNZQ+tXK5tNnKOLmsu04hKA7Z4LfV1GrbIKWRCC4cU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92690},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"71200728c5f228b83b5d9423c74e2c5583d5e645","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.2.3_1786159532362_0.9369924532471219","host":"s3://npm-registry-packages-npm-production"}},"3.3.0":{"name":"multi-tasks","version":"3.3.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.3.0","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"60537277f07dd8c426c1b3a9d70315beda2d7ef2","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.3.0.tgz","fileCount":22,"integrity":"sha512-pRg++B9bU3RBY7cRSGcJFke1yOQG/88e8Tx5RryLAtupkvCALB/L1uHvFYp/ifHdGbswA6nnbKIETSFSw0wZ5Q==","signatures":[{"sig":"MEUCIQDygMc+U1lTV5lCOJD8QhPVaveaJo3doQyecUt6N82nbAIgTTcvGKXotLeLTN03vtwrvX1AkyG/szaP7OV4b1UH5mk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107007},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"9417a24dc8053094b7f393a061de22a3dac3dd00","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.3.0_1786255030765_0.09108722619974507","host":"s3://npm-registry-packages-npm-production"}},"3.4.0":{"name":"multi-tasks","version":"3.4.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.4.0","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"f78532a73c5729447cc0d4985125078810327366","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.4.0.tgz","fileCount":23,"integrity":"sha512-6ez5gkb/IGfvxU2p2ukirhV/6nJK45eylpCO1grQfQg7ZzNGidXUEtIQzy2FudrR8GEnN+ndckkuY/Otngjuew==","signatures":[{"sig":"MEQCID1A7/5rKUWv/rZDk3As2jjC4PXqDgvxCmINwOG/GnoIAiBDRZRKHXsgr+BCzkT3Zyce1ZNyLRSW0swiWNDzLTLvlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":119095},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"1608fe127ec6903da4f51cb5bbe37b3aea2b8f8f","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.4.0_1786687452669_0.8894149946878733","host":"s3://npm-registry-packages-npm-production"}},"3.4.1":{"name":"multi-tasks","version":"3.4.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.4.1","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"7327067c19fb1239f3a1b09b0b104a3eaf8fb63a","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.4.1.tgz","fileCount":23,"integrity":"sha512-XpAi1PnazkCgSwukqcq2VVaJmG3KUzVAr+a8Zt99PH3+AGsIwMgyZIwsp7lOacBUnKXTyCrvYrITVB9xAd+ErA==","signatures":[{"sig":"MEUCIDeletZq2AUdeMuqpxlnTL/ISNdTwo3f1JCRc/Pk7gSyAiEA7lMhkFJs21cnXwdDj+UD7oenvdb8rBpKqonNdWbiCXk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114885},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"1d20ef8aa04e9809c6ac9f77ded1da3db032c68a","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.4.1_1788479353914_0.3744919713043633","host":"s3://npm-registry-packages-npm-production"}},"3.5.0":{"name":"multi-tasks","version":"3.5.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.5.0","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"92467bfd8f3f134834c4aa3dba6a3255ddb6fff4","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.5.0.tgz","fileCount":25,"integrity":"sha512-Rmc8zeO6NnRdZeqgn7b8RcwM3eROyB9/w/AfE5hbdGZ0L499IKTeShUCY2xA7d9R+mEHR2atm6p5WpjzLJXHYg==","signatures":[{"sig":"MEYCIQCHhCLy7pUv1MYtoGHPc4TWU6yZh2r/2tULPL9H3BfNbgIhAM5lbcHc1sG7YoGTgHy9cVzZ8y6rG+V8uXENUAtxr1ly","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQC7dNKowP/m4oyCPKLEiuIqW4BCbARyu1Hgm7I53S8eIwIhAJ3Wt3XaA3Q7Dm9HtZjSjngLCywhqpIxpMTHlBLPc93o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143909},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"2065920de4e78890a52da328e56e2ea91a190dfb","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.5.0_1789760439851_0.06564495523512126","host":"s3://npm-registry-packages-npm-production"}},"3.5.1":{"name":"multi-tasks","version":"3.5.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.5.1","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"b74b9a18b803f9638b6b793ff2d3d9cdc562258a","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.5.1.tgz","fileCount":26,"integrity":"sha512-4TsE6fVlvViGb73v8q1q0MszqbTjgzMpvR2eIUsycj5nLPUyMzRbeRoy1XSqYGJ9LR6wxUp8GcwTurT3puehLg==","signatures":[{"sig":"MEQCIFcu5jM86m90GY4QrSpczl4ZWNxzDrANS8m2V+9v/z+zAiA87MrHcFgBhWStkcaTArc6igI0ndpi7aKGWQXHmIiZYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGg+tAtzRQKBLCO5WfEhtpct0owWId6StGcTx9Dyd92zAiBpCIq/GeKWjOhVkrBKLXXwkMAZTu6pbaML8s6XtfhCrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145391},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"e3daa922d7ddc49371f74ee1d6496eec0fc14671","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.5.1_1789761297718_0.49701581189094557","host":"s3://npm-registry-packages-npm-production"}},"3.5.2":{"name":"multi-tasks","version":"3.5.2","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@3.5.2","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"c7d768546690f5df9b6db5231bba8f09fd8a69e2","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-3.5.2.tgz","fileCount":26,"integrity":"sha512-5QM0BO3UwjGL6pdvJ0E1liV5AdN5RHSKeWrWe+au2CI+E596Wgz+pCY9U6ZdinLcb2igpkR3bKNoxyEopVj3ew==","signatures":[{"sig":"MEYCIQDmaoG0wORFB73ycTExiB0ERdMjRZUMArCNxSkF0UxfRQIhAN7slGMr7g+x6pn/REnsiZcNDpElmxsq5yX0qRZjLXXq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCe7P35G/rH8pSkXrgSEoUnmiTkGt3e0jnpdN2RgGV4HgIhAOF2Pbw9AGvBZLTsLtRBpr3bqbbZjFYhQjZugZ+lM6UL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":143784},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"a09e37698c002e6665c3a1e655f98819774c8bf1","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_3.5.2_1789762096611_0.9377971206971971","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-rc.1":{"name":"multi-tasks","version":"4.0.0-rc.1","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@4.0.0-rc.1","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"ddf4093562f60c9645033464a82b86844422c5d5","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-4.0.0-rc.1.tgz","fileCount":28,"integrity":"sha512-psWW4S2UH6USjKbFSdPMWbkbW5eMsf1bJchcKR8jrSNs6HRcQwB2udSQ7qW6vrDa2sNL1oqLo05al9MrUAJ0pA==","signatures":[{"sig":"MEYCIQC++OwxnuVqZ+bVRTVx2YAQ1kVO8Os2wxrnNlHr0QHAQQIhAMUaC0oTNjdYM9XfzNwoiaka28nAkGxHPCeDl7fAzMjU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFOx2/e6uaby20FPhNpBHoShC2DqHpAyPOXyKRVGexgjAiEAr4zyrajv5+x7yuW1qDbnH+DkazEK35HKv/pJyGZnI4c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":178635},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"e9287023fe91663cd0bf2fe8960b0a5eaf9a71b5","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_4.0.0-rc.1_1789997710046_0.4914147828734876","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-rc.2":{"name":"multi-tasks","version":"4.0.0-rc.2","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@4.0.0-rc.2","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"ea112ecfd586f7d451dcd47c38c0cdfb3ede3d30","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-4.0.0-rc.2.tgz","fileCount":28,"integrity":"sha512-dJdMEVBLlKq1Vjwk9C88jJbDd/D5bAc1qC0S+v7/8SsaT0GQhPyCv3CcFLb+xpphCxIaMVfqlDYxSXksh5RYag==","signatures":[{"sig":"MEYCIQDewKUPwqUWUzNeD88wkNjXxD+1Bt4om3+J+nYANu9LFgIhAKbEMjBAodPrdLYCjdeEAJ76PQXOHpjX4p0jIInz3QxQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCa+NYrnD1Kxqrflq2DzHME7058GdiivztXPFScU/dXOAIhAOOX7BQHyquYxhPnPkhuYfyMO7RKuxaeXYd1VXqIeCFI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184273},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"622b4fa80d6dca4810dff1913a260545adf9053d","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_4.0.0-rc.2_1790069349847_0.2822388789228065","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-rc.3":{"name":"multi-tasks","version":"4.0.0-rc.3","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@4.0.0-rc.3","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"73a787aeedb74fb34cebbd4cea1aa968daa7cccb","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-4.0.0-rc.3.tgz","fileCount":28,"integrity":"sha512-2g7fEhoEKJffGzIQYO5rk4TZHgRXeHt5rKz6hnYdeHR7sYVAmDBLhaHM3SnfgET31TO/R8hvtZtzPXuvVT6VFA==","signatures":[{"sig":"MEUCIQD+uyVfL1TyvDdprd1i0+tTq2nEamXaz+tE0rf8HaPP8QIgZV3PovQQ5vkcQdQQx+N9mRkAb6o/AqOJIRAGR0XSFaI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDh06bROfvKEa8GejxwjFcoqZX/tZ+drQskZwwH7CjziAIhAJhaX9mhi46PzS4AQ3mRCmPmx9V8sf6mPMFS5uthvD1o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184203},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"c79006d239d69f960fd63f528338ef8d1e7a6ace","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_4.0.0-rc.3_1790076357308_0.5920457825772882","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-rc.4":{"name":"multi-tasks","version":"4.0.0-rc.4","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@4.0.0-rc.4","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"cb3b093d13d4ac2d6c1e75063ee278419aa402e9","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-4.0.0-rc.4.tgz","fileCount":28,"integrity":"sha512-U28q2WACSbqtQcgneM8mD9h0VmqRFegenJ7SmwuK2btT1gVyiSz2/OblS717B3ul80iXBNVzcAFeirS9Scc7GA==","signatures":[{"sig":"MEQCIG2PUhcB7B4IYbVHtK9x/oHdgENgYneSXigOP+hmFOXAAiAOpB9ohUyY6Pm7yoSw9hsVmHPDlWQglb8Sh99RrXIgTw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIALh90bKE1a3K12VB/LygRX2c6iuOBm8TjenNSf4030iAiAXDxK95scBrrJEhr+8fzOVlFbbpgEBuz8SUvsHUwO60g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184895},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"048369a324c6707a05196b924c4b94427982d1fa","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_4.0.0-rc.4_1790083738357_0.40690199205304567","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-rc.5":{"name":"multi-tasks","version":"4.0.0-rc.5","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@4.0.0-rc.5","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"120ce72610716cfee06bdd56b0f35d8284ce9eb9","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-4.0.0-rc.5.tgz","fileCount":28,"integrity":"sha512-F6JmiwxCfV9MooC3HGrV9H0Fn+yMK64CsVCPzMzHh95xBqf0TwoVFthDhV3mEcjymL0o3kV9bE2Omd8rEgYfew==","signatures":[{"sig":"MEQCIFXatLc7XdhO9ndBEWIgWXZgCDXiFk0LGrl951FEh0WpAiBw/9sCyRkxQnCl3UpcGbwTIRz1AXeRFl9RRKIxJvEYXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAye9Yb5gV4M9xBBJqDlcw4MaFZ1aWqQ9Cko1vvPVrvUAiEAvMH1kRfGSMxwnzcr+Lak/k3ODk1/u8cOotMiuVzbrMU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185798},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"048369a324c6707a05196b924c4b94427982d1fa","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_4.0.0-rc.5_1790090972823_0.10017221798475706","host":"s3://npm-registry-packages-npm-production"}},"4.0.0-rc.6":{"name":"multi-tasks","version":"4.0.0-rc.6","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@4.0.0-rc.6","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"46c2733b5657d33da06ab46f60a80956755826ff","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-4.0.0-rc.6.tgz","fileCount":28,"integrity":"sha512-r+k3jtC1GBpkS9kHhvj0XW9pyRPx5KuSrRMiabVKxTxaTrPddl21l/XCFkqUIlML1xAGlk1GimcfIU98Yki/Ew==","signatures":[{"sig":"MEUCIQCLBPwCFJ3a47ntN9/GZ01im60mKZOuzvfVXJGPq9hrGgIgPEs/6sPntodz8xtu560olrRyrnEniiDujpJsNo82Lrw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF1I+K6c8VdJrTikAPdvzgKUcRdyNGQgBQ1vXJxvbqbdAiEAlMC9viTMphMEk2umznLRwiZW3cMwmGwkW2Sz9TGWjSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185356},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"417720e5c59b337fde7d024d13fdb7504bee5ec7","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.7.0","cli-progress":"^3.12.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_4.0.0-rc.6_1790092777516_0.16741747599675127","host":"s3://npm-registry-packages-npm-production"}},"4.0.0":{"name":"multi-tasks","version":"4.0.0","keywords":["multitask","worker","multithread"],"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","_id":"multi-tasks@4.0.0","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"dist":{"shasum":"91da1650974038f6171e0da56e1997a9255df5e1","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-4.0.0.tgz","fileCount":28,"integrity":"sha512-MG90vkjQ/IrncYRKMXqlGlKksZdFccugAGPxlEfV9QelykwOkCd4C3bSpIyEk9Hfn+iOqQrooO3aEk11rmR3RA==","signatures":[{"sig":"MEUCIBtZ+wiqetwEOC7XI30V2r9C8zMewpPuai2Fosv7gLWeAiEAsxWZtJNtm+bBkFCk+Nc/QAWGuV5gCHolW6m8FKnCUb0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICf7FFjUzdKYlp6fYSPzDIfTKbnMaWROJCnEMFAkf8OjAiEA8HtGU8PkuymGy89uENShQ99AM6PyqujAgSd524jeFhc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185409},"main":"index.js","engines":{"node":">=14.14"},"gitHead":"fcfe01367343731584cec6ef23746863f1f0bd98","scripts":{"test":"jest","prepublishOnly":"npm test"},"_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"tmp":"tmp/multi-tasks_4.0.0_1790100971068_0.2193027784020556","host":"s3://npm-registry-packages-npm-production"}},"4.0.1":{"_id":"multi-tasks@4.0.1","dist":{"shasum":"4d9723351265f489a8afc7674a7ccc07e9f12a71","tarball":"https://registry.npmjs.org/multi-tasks/-/multi-tasks-4.0.1.tgz","fileCount":28,"integrity":"sha512-Rh8JjM7f614iFfasiV2l4/bmKoIebNcVfSAn6W88kXfolG5vT2f2EsdLCw/HLyBvQyz7MpG9FYfYK+PA4IOy8g==","signatures":[{"sig":"MEUCIQDOL7eLwrDIesN/TVimlx7XY9lBd2p3ncIaslPaxh8LNAIge80jfWXlDvaVAUjtFy1rroyrJiBwZixmyG0EkbIvyDY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICYTZQy6C5vGfrl4QOzCDxFOyrKOmM29f4onhnM90dMhAiEArSBGGX8R1fb3B4xnZBZEDinxF1YF54f/Y/VCu0+hfgk="}],"unpackedSize":185429},"main":"index.js","name":"multi-tasks","author":{"name":"zhanglei923@gmail.com"},"engines":{"node":">=14.14"},"gitHead":"f5205e0010d273ec0eedd48657dbef1c27b3b153","license":"MIT","scripts":{"test":"jest","prepublishOnly":"npm test"},"version":"4.0.1","_npmUser":{"name":"zhanglei923","email":"zhangleiwork923@163.com"},"keywords":["multitask","worker","multithread"],"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"_npmVersion":"11.19.0","description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","directories":{"example":"examples"},"maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/multi-tasks_4.0.1_1790102913587_0.3082814129860443"}}},"time":{"created":"2023-11-30T15:00:42.461Z","modified":"2026-09-22T18:48:33.847Z","1.0.0":"2023-11-30T15:00:42.649Z","1.0.1":"2023-12-05T10:19:43.392Z","1.0.2":"2023-12-05T10:29:05.075Z","1.0.3":"2023-12-06T12:29:37.598Z","1.0.4":"2024-01-02T12:33:31.804Z","1.0.5":"2024-01-02T13:12:13.629Z","1.0.6":"2024-01-02T18:06:22.814Z","1.0.7":"2024-02-26T05:56:47.249Z","1.1.2":"2024-04-03T13:03:39.325Z","1.1.3":"2024-04-11T10:01:24.605Z","1.1.4":"2024-04-11T12:05:42.940Z","1.2.0":"2024-04-12T06:27:44.942Z","1.2.1":"2024-04-14T09:24:32.434Z","1.2.2":"2024-04-14T09:48:08.556Z","1.2.3":"2024-04-14T10:01:51.519Z","1.2.4":"2024-04-15T09:30:41.190Z","1.2.5":"2024-04-15T09:41:48.109Z","1.2.6":"2024-04-16T07:54:47.021Z","1.2.7":"2024-04-16T08:29:29.825Z","1.2.8":"2024-04-22T00:00:33.077Z","2.0.0":"2024-05-06T12:15:54.708Z","2.0.1":"2024-05-10T00:28:23.247Z","2.0.2":"2024-05-11T04:36:07.891Z","2.0.3":"2024-05-24T08:12:32.336Z","2.0.4":"2024-06-04T00:31:44.359Z","2.0.5":"2024-06-04T00:46:01.106Z","2.0.6":"2025-02-20T09:35:18.832Z","2.0.7":"2025-02-20T09:37:45.374Z","2.0.8":"2025-02-20T09:41:14.906Z","2.0.9":"2025-02-20T09:47:13.512Z","2.1.0":"2025-10-14T11:43:45.826Z","2.1.1":"2025-10-15T07:17:00.479Z","2.1.2":"2025-10-15T13:33:17.719Z","2.1.3":"2025-10-15T13:40:16.289Z","2.1.4":"2025-10-15T13:41:06.369Z","2.1.5":"2025-10-15T13:42:59.949Z","2.2.0":"2025-10-20T06:46:13.488Z","2.2.1":"2025-10-20T13:57:04.327Z","3.0.0":"2026-08-01T16:51:48.080Z","3.0.1":"2026-08-01T18:15:31.794Z","3.0.2":"2026-08-03T02:34:11.611Z","3.0.3":"2026-08-04T03:41:06.923Z","3.0.4":"2026-08-04T07:43:50.772Z","3.1.0":"2026-08-04T11:35:34.583Z","3.1.1":"2026-08-04T11:48:08.771Z","3.1.2":"2026-08-04T14:43:24.618Z","3.1.3":"2026-08-04T15:07:52.931Z","3.1.4":"2026-08-05T11:44:24.492Z","3.1.5":"2026-08-05T12:14:04.009Z","3.1.6":"2026-08-05T12:51:42.004Z","3.1.7":"2026-08-05T16:23:59.028Z","3.1.8":"2026-08-05T18:35:02.280Z","3.1.9":"2026-08-06T14:36:05.405Z","3.2.0":"2026-08-07T07:24:02.368Z","3.2.1":"2026-08-07T09:16:40.768Z","3.2.2":"2026-08-07T16:48:50.137Z","3.2.3":"2026-08-08T03:25:32.508Z","3.3.0":"2026-08-09T05:57:10.900Z","3.4.0":"2026-08-14T06:04:12.810Z","3.4.1":"2026-09-03T23:49:14.051Z","3.5.0":"2026-09-18T19:40:39.943Z","3.5.1":"2026-09-18T19:54:57.816Z","3.5.2":"2026-09-18T20:08:16.749Z","4.0.0-rc.1":"2026-09-21T13:35:10.133Z","4.0.0-rc.2":"2026-09-22T09:29:09.970Z","4.0.0-rc.3":"2026-09-22T11:25:57.410Z","4.0.0-rc.4":"2026-09-22T13:28:58.470Z","4.0.0-rc.5":"2026-09-22T15:29:32.950Z","4.0.0-rc.6":"2026-09-22T15:59:37.624Z","4.0.0":"2026-09-22T18:16:11.171Z","4.0.1":"2026-09-22T18:48:33.672Z"},"author":{"name":"zhanglei923@gmail.com"},"license":"MIT","keywords":["multitask","worker","multithread"],"repository":{"url":"https://gitee.com/zhanglei923/multi-tasks.git","type":"git"},"description":"Multi-process task scheduling based on Node.js cluster, with crash resume and failed-task restart support","maintainers":[{"name":"zhanglei923","email":"zhangleiwork923@163.com"}],"readme":"# multi-tasks\n\nRun large batches of tasks in parallel across multiple Node.js processes, with zero dependencies. Progress and results are stored on the file system, so an interrupted run (crash, power outage) can resume where it left off.\n\n**New in 4.0.0 — `task_storage: 'aof'` (append-only file), now the default**: `memory`-grade speed **with** full resume — a killed run simply continues where it left off. One config field; set `task_storage: 'file'` for the classic per-task-file layout. See [Task storage modes](#task-storage-modes).\n\n![task_storage benchmark (100k tasks): file 389s vs aof 9.7s vs memory 7.9s — aof 40x, memory 49x faster than file](https://cdn.jsdelivr.net/npm/multi-tasks@4.0.0/bench-storage.svg)\n\n### Install:\n\n```text\nnpm install multi-tasks\n```\n\n### Quick start:\n\n```javascript\nlet multiTasks = require('multi-tasks').multiTasks;\n\n//your tasks, as a plain array\nlet tasks = [];\nfor(let i = 0; i < 50; i++){\n    tasks.push({name: `task-${i}`});\n};\n\nmultiTasks({\n    initialTasks: tasks,\n    //process one task and return its result (a plain value or a Promise)\n    processTask: (task, helper) => {\n        return `done: ${task.name}`;\n    },\n    taskRootFolder: './my-tasks', //progress and results live in ./my-tasks/demo\n    taskId: 'demo',\n    numberOfWorkers: 3, //worker processes running in parallel\n    autoCloseAfterCompletion: true, //exit the process when all tasks are done\n    onFinish: (report) => {\n        console.log(`${report.succeeded} succeeded, ${report.failed} failed`);\n    },\n});\n```\n\nResults are appended to `<taskRootFolder>/<taskId>/results/succ.json`, failures to `results/errors.json` — one JSON line per task (`{\"subid\": ..., \"data\": ...}`); other storage modes lay them out differently (see [Task storage modes](#task-storage-modes)). A runnable copy of this example lives in `examples/example0`.\n\n### Results and errors:\n\n`processTask` may return a plain value or a Promise:\n\n```javascript\nlet processTask = (task, helper) => {\n    let {taskCount} = task; //0-based index of this task\n\n    return new Promise((resolve, reject) => {\n        setTimeout(() => {\n            resolve({data: `task${taskCount} complete`});\n        }, 100);\n    });\n};\n```\n\nA failing task never stops the batch — its error is captured and saved to `results/errors.json` (in `memory` mode it is kept in the master's memory and surfaced via `onFinish`), the rest keep going:\n\n```javascript\nlet processTask = (task, helper) => {\n    let {taskCount} = task;\n\n    if(taskCount === 3) throw 'exception'; //a thrown value is persisted as-is\n    if(taskCount === 4) return Promise.reject({err: 'a test error'}); //a rejection value is persisted as-is\n    if(taskCount === 5) aaa = bbb; //a ReferenceError is captured too\n\n    return {data: 'succ'};\n};\n```\n\n### Creating new tasks dynamically:\n\n```javascript\n//scenario: crawl a paginated API — each page tells you if there is a next one\nlet processTask = async (task, helper) => {\n    let page = await fetchPage(task.url); //your logic here\n\n    if(page.nextUrl){\n        //a discovered next page becomes a new task;\n        //the pages are finite, so the queue always drains on its own\n        helper.createNewTasks({url: page.nextUrl});\n    };\n\n    return {url: task.url, items: page.items};\n};\n\nmultiTasks({\n    initialTasks: [{url: 'https://api.example.com/items?page=1'}], //start from the first page\n    processTask,\n    taskRootFolder: './my-tasks',\n    taskId: 'api-crawl',\n    numberOfWorkers: 3,\n    //keep autoCloseAfterCompletion false (the default) while tasks may still be created\n});\n```\n\nThe point: new tasks come from work discovered while processing, and discovery stops when the data runs out — no artificial bound needed. Keep `autoCloseAfterCompletion` at its default (`false`) so workers stay alive for late-arriving tasks.\n\n### Timeouts and retries:\n\n```javascript\nmultiTasks({\n    initialTasks: tasks,\n    processTask,\n    taskRootFolder: './my-tasks',\n    taskId: 'demo',\n    numberOfWorkers: 3,\n    taskTimeout: 30000, //a task that overruns 30s fails with a timeout error\n    maxTaskRetries: 2, //auto-retry a failed task (worker crash, processTask error, or timeout) up to 2 times\n});\n```\n\n### Resuming an interrupted run:\n\nJust re-run the same code — `multiTasks(config)` detects the existing task folder and auto-resumes, re-running only the stuck tasks:\n\n```javascript\nmultiTasks(config); //same command, same config as the interrupted run\n```\n\nOr point `initialTasks` at the task folder — same effect:\n\n```javascript\nmultiTasks({...config, initialTasks: '/myworks/my_scan_tasks/my-task'});\n```\n\nOr resume from the task folder alone — the config (including `processTask`) is restored from `task_config.json`:\n\n```javascript\nmultiTasks.resume({taskFolder: '/myworks/my_scan_tasks/my-task'}); //taskFolder: the full path of the existing task folder\n```\n\n**Note:** functions revived from `task_config.json` must be **self-contained** (no outer-scope variables; `require(...)` inside the body) — otherwise pass them again; fields you pass always win:\n\n```javascript\nmultiTasks.resume({taskFolder: '/myworks/my_scan_tasks/my-task', processTask});\n```\n\n### Retrying failed tasks:\n\nResume an interrupted run and also re-run the tasks that failed:\n\n```javascript\nmultiTasks.retry_fails({taskFolder: '/myworks/my_scan_tasks/my-task'});\n```\n\n### Restarting from scratch:\n\nThrow away all progress and results in a task folder and re-run all the initial tasks (the config, including `processTask` and `initialTasks`, is restored from `task_config.json`):\n\n```javascript\nmultiTasks.restart({taskFolder: '/myworks/my_scan_tasks/my-task'});\n```\n\nUnlike `retry_fails` (which re-runs only the failed tasks), `restart` re-runs **all the initial tasks** — tasks created dynamically via `helper.createNewTasks` are not restored and will not be re-run. Fields you pass override the saved config and are written back into it; the same self-contained-function note as in Resuming applies.\n\n### Broadcasting events between workers:\n\n```javascript\nmultiTasks({\n    initialTasks: tasks,\n    processTask: (task, helper) => {\n        helper.setListener('task-done', (payload, meta) => {\n            console.log(`worker ${meta.fromWorkerPid} says: task ${payload.seq} done`);\n        });\n        helper.emit('task-done', {seq: task.seq}); //broadcast to all workers\n        return {data: 'succ'};\n    },\n    taskRootFolder: './my-tasks',\n    taskId: 'demo',\n    numberOfWorkers: 3,\n});\n```\n\n### System events:\n\nSend events from a worker to the master with `helper.emitSys`:\n\n```javascript\nmultiTasks({\n    initialTasks: tasks,\n    setSysListener: (event, payload, meta) => {\n        console.log(`sys event \"${event}\" from worker ${meta.fromWorkerPid}:`, payload);\n    },\n    processTask: (task, helper) => {\n        helper.emitSys('task-started', {seq: task.seq});\n        if(task.fatal){\n            helper.emitSys('TERMINATE_ALL_WORKERS'); //built-in event: stop everything\n            return;\n        };\n        return {data: 'succ'};\n    },\n    taskRootFolder: './my-tasks',\n    taskId: 'demo',\n    numberOfWorkers: 3,\n});\n```\n\n### Task storage modes:\n\nBy default (`aof` mode) you get near-`memory` speed **with** full resume. The classic `file` mode (per-task files on disk, live-monitorable) is one config field away. The three modes side by side:\n\n| Mode | Time (100k tiny tasks) | `resume` / `retry_fails` / `restart` | Results readable from disk | Live monitoring ([multi-tasks-monitor](#real-time-monitoring)) |\n|---|---|---|---|---|\n| **`file`** | 389s (~6.5 min) | ✓ | ✓ | ✓ |\n| **`aof`** (default) | 9.7s | ✓ | ✓ | ✗ |\n| **`memory`** | 7.9s | throw | ✗ | ✗ |\n\nSame API for all three — one config field:\n\n```javascript\nmultiTasks({\n    initialTasks: tasks,\n    processTask,\n    taskRootFolder: './my-tasks',\n    taskId: 'demo',\n    task_storage: 'aof', //'aof' (default) | 'file' | 'memory'\n    onFinish: (report, helper) => {\n        helper.foreachResult((count, task, result, succeeded) => {\n            //collect / batch-insert / write out your results here\n        });\n    },\n});\n```\n\nReading results: in `aof` mode results stream into `results/succ.json`/`results/errors.json` — one JSON line per task; mid-run a task may appear on several lines (last one wins), at the end each file holds exactly one line per task. In `memory` mode results never touch disk — collect them in `onFinish(report, helper)` via `helper.foreachResult` (or `foreachSuccResult`/`foreachErrorResult`). Neither mode creates the classic per-task directories (`progress/`, `logs/`, `results/succ|errors/`) — in `aof` mode the task folder holds just `task_config.json`, `.sys`, and the aggregate result files; in `memory` mode it holds only `task_config.json` and `.sys`.\n\nCaveats of `memory` mode:\n\n- **Worker crashes**: without `maxTaskRetries`, a crashed worker's in-flight task is lost for good (no `resume` to pick it up).\n- **Dynamic tasks**: tasks sent via `helper.createNewTasks` but not yet applied are lost if the master is killed. And keep `autoCloseAfterCompletion` at its default `false` when workers create tasks dynamically — in-transit tasks can miss the dispatch window and the workers get closed early.\n\nCaveats of `aof` mode:\n\n- **Results**: result files can lag a moment behind completion during the run; a resumed run always ends with a complete set.\n\n### Real-Time Monitoring\n\nMonitor your running tasks with [multi-tasks-monitor](https://www.npmjs.com/package/multi-tasks-monitor) — see its npm page for full details.\n\nQuick start (requires multi-tasks >=3.2.0 and `task_storage: 'file'` — `aof`/`memory` runs have nothing to monitor): once your multi-tasks run has started, the startup log prints the monitor command with the task folder path already filled in — just copy-paste it into another terminal:\n\n```text\nnpm install multi-tasks-monitor\nnpx multi-tasks-monitor --task-dir \"D:\\tasks\\multitasks20260806...\" --port 3777\n```\n\n### API:\n\n**Entry functions:**\n\n- **`multiTasks(config)`** — run tasks; auto-resumes if the task folder already exists or `initialTasks` points to one.\n- **`multiTasks.resume(config)`** — resume from the task folder alone (`{taskFolder}`); the config is restored from `task_config.json`, fields you pass override it and are written back. Usually you don't need this: re-running `multiTasks(config)` auto-resumes.\n- **`multiTasks.retry_fails(config)`** — same as `resume`, and also retries the failed tasks.\n- **`multiTasks.restart(config)`** — wipe the task folder's progress and results and re-run from scratch (`{taskFolder}`). **All previous progress and results are deleted.**\n\n**Config options:**\n\n- **`initialTasks`** — an array of task objects; a function returning the array (or a Promise of it); or a task folder path string to resume from.\n  - Function form, for performance: every worker process re-runs your entire entry script, so top-level task-generation code (scanning folders, querying a database, ...) runs once per worker. Wrapped in a function it is called **only once, in the master process**, and workers never call it. The (resolved) value must be an array, otherwise the master exits with an error. Only the resulting array is saved — not the function — so the self-contained-function note under Resuming does not apply to it.\n- **`processTask(task, helper)`** — required; return a result or a Promise with result. Results are appended as JSON lines to `results/succ.json` (in `file` mode stored as per-task JSON files under `results/succ`; in `memory` mode kept in the master's memory and iterated via `onFinish` helpers); if a result is not JSON-serializable, the task still counts as succeeded (a placeholder is stored) and a warning shows up in the command line.\n- **`taskRootFolder`** — the task run folder (named by `taskId`) is created under this directory.\n- **`taskId`** — task folder name under `taskRootFolder`.\n- **`numberOfWorkers`** — how many worker processes run in parallel; a number, or a percentage string of CPU cores like `\"50%\"` (default).\n- **`taskTimeout`** — optional, milliseconds; an overdue task fails with a timeout error.\n- **`maxTaskRetries`** — optional, max times a failed task is auto-retried.\n- **`workerPriority`** — optional, OS scheduling priority for worker processes: `'low' | 'below_normal' | 'normal' | 'above_normal' | 'high'`, or a nice number (integer -20~19). Lower priority keeps the machine responsive while a long batch occupies all cores; invalid values throw.\n- **`progressBar`** — `true` by default: shows a live progress bar in the terminal; set `false` to fall back to plain log output.\n- **`worker_status_poll_ms`** — worker status poll interval in ms; default `2000`; `0` (or `false`) disables the worker status table; `true` means the default rate.\n- **`task_storage`** — `'aof'` (default) | `'file'` | `'memory'`: where task states and results are kept; see \"Task storage modes\". Note: on `resume`/`retry_fails`/`restart` the folder's own mode always wins (an old folder is never re-interpreted under the new default), and passing a `task_storage` that contradicts it throws.\n- **`autoCloseAfterCompletion`** — set `true` to kill workers and exit the process when no tasks are left; default is `false`, i.e. workers stay alive waiting for dynamically created tasks.\n- **`shouldTerminate(info)`** — return `true` to terminate the whole process. If it throws, the error is logged and the task is dispatched anyway (treated as \"don't terminate\").\n- **`setSysListener(event, payload, meta)`** — optional, handle custom system events (sent via `helper.emitSys`) on the master; `meta` has `fromWorkerId` and `fromWorkerPid`.\n- **`onFinish(report, helper)`** — called once after all workers exit (only when `autoCloseAfterCompletion` is `true`; termination via `shouldTerminate` or `'TERMINATE_ALL_WORKERS'` exits without calling it). `report` summarizes the run: `{ taskId, taskFolder, startTimestamp, endTimestamp, cost, total, succeeded, failed, failedTasks, succButSaveFailed, workers }` — `cost` is the run duration in ms (a resumed run measures only the current round); `failedTasks` lists the failed tasks' subids; `succButSaveFailed` counts tasks that ran fine but whose results could not be JSON-serialized; `workers` is `{ count, crashed }` — the configured worker count and how many workers crashed and were replaced. `helper` walks every persisted task result:\n  - **`helper.foreachSuccResult((count, task, result) => {})`** — iterate all succeeded results (`results/succ.json`; in `file` mode `results/succ/`); `count` is a 0-based index, `task` is the original task object (`null` if the original task can't be recovered), `result` is the value returned by `processTask` (`undefined` when the task returned nothing; a `{type: 'result_serialize_error', message}` placeholder when the value could not be JSON-serialized).\n  - **`helper.foreachErrorResult((count, task, err) => {})`** — iterate all failed results (`results/errors.json`; in `file` mode `results/errors/`); `err` is the persisted error object as-is (`{ex}` / `{subTask, exception}` / `{type: 'timeout', ...}` / `{type: 'worker_crash', ...}`). A non-`Error` rejection value that is not JSON-serializable is persisted as `{ex: {type: 'unserializable_error_value', ...}}`.\n  - **`helper.foreachResult((count, task, result, succeeded) => {})`** — iterate all results regardless of outcome (succeeded first, then failed; `count` runs continuously across both); `succeeded` is `true` for succeeded results and `false` for failed ones (where `result` is the persisted error object).\n  - In `file` mode the iteration order is unspecified; in `memory` and `aof` modes the helpers iterate in completion order. `onFinish` runs synchronously at the very end and the master process exits shortly after it returns — don't `await` inside it.\n\n**Other options:**\n\n- **`taskFolder`** — full task folder path; only used by `resume`/`retry_fails`/`restart`.\n\n**Task helper** (the `helper` object passed as the second argument of `processTask`):\n\n- **`helper.createNewTasks(tasks)`** — create new tasks dynamically while processing.\n- **`helper.emit(event, payload, option?)`** — broadcast an event to all workers (relayed by the master, best-effort); `option.includingMe` defaults to `true` — pass `{includingMe: false}` to exclude the sender. Payload must be JSON-serializable.\n- **`helper.setListener(event, handler)`** — listen for broadcast events; one handler per event per worker process (re-registering replaces it), so calling it inside `processTask` is always safe; `handler(payload, meta)` gets `meta.fromWorkerId` and `meta.fromWorkerPid`. Broadcasts are runtime-only messages — not persisted, not replayed on resume.\n- **`helper.emitSys(event, payload?)`** — send a system event to the master (consumed by the master itself, not relayed). Built-in event: `'TERMINATE_ALL_WORKERS'` force-kills all workers and exits the master; any other event goes to `config.setSysListener`.\n- **`helper.log(...args)`** — write a log line to `.sys/run.log`; echoes to the terminal like `console.log` when the progress bar is off or the output is not a TTY.\n\n### Changelog:\n\n- 4.0.1 Minor tweaks\n- 4.0.0 Add `task_storage: 'aof'` mode (memory-grade speed with full resume) as the new default\n- 3.5.2 Fix Readme\n- 3.5.1 Fix bench-storage.svg\n- 3.5.0 Add `task_storage: 'memory'` mode (~17x faster, no resume)\n- 3.4.1 Rewrite README: simpler structure, all examples verified by test cases\n- 3.4.0 Show per-worker load (ELU/CPU/memory) under progressBar; stability fixes\n- 3.3.0 Unserializable results still succeed; shouldTerminate throwing is safe; progressBar counters added\n- 3.2.3 Support workerPriority: set OS scheduling priority for worker processes\n- 3.2.2 initialTasks accepts a function (sync or async) that is called only once, in the master process\n- 3.2.1 Fix retry bug: user-defined taskCount/index no longer overwritten on task retries\n- 3.2.0 Add progressBar (on by default); console output diverted to run.log; new startup banner\n- 3.1.9 Print the multi-tasks-monitor command on startup\n- 3.1.8 Small refinements\n- 3.1.7 onFinish: iterate all succ/failed results via helper.foreachSuccResult/foreachErrorResult\n- 3.1.6 Fix silent task loss under heavy load with maxTaskRetries\n- 3.1.4 Rewrite methods multiTasks.resume/retry_fails/restart\n- 3.1.0 Support worker broadcast and system events; default numberOfWorkers is now \"50%\" of CPU cores\n- 3.0.3 Support 'maxTaskRetries'\n- 3.0.2 Support 'taskTimeout'\n- 3.0.1 Versions 3.0.0 and above are maintained by AI\n- 3.0.0 and earlier: see the git history\n\n### Gitee:\n\n[https://gitee.com/zhanglei923/multi-tasks](https://gitee.com/zhanglei923/multi-tasks)\n\n### License:\n\n[MIT](https://opensource.org/license/MIT)\n","readmeFilename":"README.md"}