Naming Prosecution Mitigator

    try-to-run

    1.3.2 • Public • Published

    try-to-run: If happen AppCrash then try to run app again.

    npm-version npm-week-downloads

    If happen AppCrash then try to run app again. Easy to use. Relaunch your app.js.

    Installing

    npm install try-to-run

    Usage example

    app.js

    "use strict";
    
    /* longer version */
    var try_to_run = require("./../index");
    //var try_to_run = require("try-to-run");
    var isMainThread = try_to_run(__filename, 20);
    if (isMainThread) return;
    
    /* short version */
    //if (require("try-to-run")()) return;
    
    
    console.time("Time");
    var http = require("http");
    var port = process.env.PORT || 1337;
    var server = http.createServer();
    
    // Console log
    server.on("request", function (req, res) {
        console.timeLog("Time", "Url: " + req.headers.host + req.url);
    });
    
    // Simulated crash ...
    server.on("request", function (req, res) {
        if (req.url === "/crash") { throw new Error("Simulated crash ..."); }
    });
    
    // Shutdown ...
    server.on("request", function (req, res) {
        if (req.url === "/shutdown") { require("worker_threads").parentPort.postMessage("kill"); }
    });
    
    // Test page.
    server.on("request", function (req, res) {
    
        if (req.url === "/") {
    
            res.writeHead(200, { "Content-Type": "text/html; charset=UTF-8" });
            res.end(`
    <!doctype html>
    <html>
    <head>
        <title>Test</title>
    </head>
    <body>
        Test ... <a href="/crash">crash</a>
    </body>
    </html>`);
        }
        else {
    
            console.warn("Warning: 404 Not Found. Url: " + req.headers.host + req.url);
            res.writeHead(404, { "Content-Type": "text/plain" });
            res.end("404 Not Found Url: " + req.url);
        }
    });
    
    server.listen(port, function (err) {
    
        if (err)
            console.error(err)
        else
            console.log("\r\nWebserver port:" + port + " pid:" + process.pid);
    });
    
    var url = `http://localhost${(port === 443 || port === 80 ? '' : ':' + port)}/`;
    require("browse-url")(url);

    or index.js

    "use strict";
    
    require("try_to_run")("app.js");

    Eval: run a code string

    The built-in eval function allows to execute a string of code.

    var code = 'setTimeout(function () { throw new Error("Simulated crash ..."); }, 1000);';
    
    require("try-to-run")(code, 20);

    License

    MIT

    Copyright (c) 2021 Manuel Lõhmus manuel@hauss.ee

    Install

    npm i try-to-run

    DownloadsWeekly Downloads

    27

    Version

    1.3.2

    License

    MIT

    Unpacked Size

    13.2 kB

    Total Files

    8

    Last publish

    Collaborators

    • manupro