Giter Club home page Giter Club logo

Comments (4)

cenk1cenk2 avatar cenk1cenk2 commented on June 10, 2024 2

Thank you for the kind words,

Since this library is mostly intended for CLI tasks with a user sitting in front of it I do think I can omit this feature to keep the library non-bloated.

If the proposed solution works, I will close out the issue now, you can always re-open it. But if you can find a wait to specifically await for the cronjob rather than having a event-emitter like callback then I suppose the proposed solution will serve you just fine.

from listr2.

cenk1cenk2 avatar cenk1cenk2 commented on June 10, 2024

Hey @cdwmhcc,

We have to somehow keep the task alive until this scheduled job finishes.

schedule.scheduleJob is a event emitter in this case which decouples from the current context. I am not sure how to use that specific library and await for the job itself, but i think it is not by design.

You can inside the task give a try to keep the task alive. Something like:

const rule = new schedule.RecurrenceRule()
const job = schedule.scheduleJob("*/5 * * * * *", async () => {
      try {
          // something
          task.output = "success!"
      } catch (e) {
          console.log(e)
      }
})
task.output = "finished!"
await new Promise()

from listr2.

cdwmhcc avatar cdwmhcc commented on June 10, 2024

Hey @cdwmhcc,

We have to somehow keep the task alive until this scheduled job finishes.

schedule.scheduleJob is a event emitter in this case which decouples from the current context. I am not sure how to use that specific library and await for the job itself, but i think it is not by design.

You can inside the task give a try to keep the task alive. Something like:

const rule = new schedule.RecurrenceRule()
const job = schedule.scheduleJob("*/5 * * * * *", async () => {
      try {
          // something
          task.output = "success!"
      } catch (e) {
          console.log(e)
      }
})
task.output = "finished!"
await new Promise()

Thank you for your quick reply and hard work, listr2 works great!

It would be even better if there was a timer/loop built in!

from listr2.

cdwmhcc avatar cdwmhcc commented on June 10, 2024

@cenk1cenk2 You are right, more features are not necessarily better, keep it streamlined and stay healthy! Thanks again for your help!

from listr2.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.