Как запустить два разных процесса в heroku dyno - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь запустить два разных процесса в одном динамометрическом стенде heroku, один рабочий и один веб. У меня есть Procfile, как под

    worker: node worker.js
    web: npm start

index. js вызывается npm start, который является обычным express сервером и рабочим. js - это файл планирования cron, который выглядит следующим образом:

    const redis = require('redis');
    const cron = require("node-cron");
    const sync = require('./modules/sync/shopify/controller/index');
    let client = redis.createClient(process.env.REDIS_URL)

    client.on('connect', function () {
        console.log('Redis client connected');
    });

    client.on('error', function (err) {
        console.log('Something went wrong ' + err);
    });

    cron.schedule("*/3 * * * *", function () {
        let shop = { id: Math.floor(Math.random() * 1000000000), sync_type: 1, current: 0, next: 0, offset: 250, total: 1000 }
        client.rpush(['sync', JSON.stringify(shop)], function (err, reply) {
            console.log("Queue lenght", reply);
        });
    });

    cron.schedule("* * * * *", function () {
        sync.initiate(client);
    });

Но запускается только веб. Как я могу запустить оба процесса? Любые предложения приветствуются. Спасибо

1 Ответ

0 голосов
/ 10 июля 2020

все было правильно, мне просто нужно было зайти на панель управления и изменить состояние подключенного дино, которое по умолчанию было выключено.

...