Flux 5.2 job scheduler released, adds more job querying and GUI

Discussions

News: Flux 5.2 job scheduler released, adds more job querying and GUI

  1. Flux 5.2 has been released, bringing a new capability to query for jobs using wildcard characters. For example, you can find all jobs whose names match the pattern "/myjobs/ab*".

    The wildcard query capability is available in both the Flux APIs and the Flux Job Designer and Job Monitor, also called the Flux GUI.

    Also, Flux 5.2 fully exposes Flux's messaging capabilities in the Job Designer and Job Monitor. You can now create an assortment of messaging jobs entirely within the Flux Job Designer. Messaging provides the ability to create complex dependencies among jobs, perform job queuing, etc.

    Flux is a full-featured job scheduler with completely open Java, J2EE, XML, and Web Services APIs. Flux features very tight integration with Java technologies. Flux is written in pure Java, so it will run anywhere there is a Java Virtual Machine (JVM). In Flux, jobs are designed using a workflow and messaging model, which is more expressive than the typical Unix job scheduler.

    Flux info and downloads are here:

    http://www.simscomputing.com

    Flux screen shots are here:

    http://www.simscomputing.com/products/flux/screenshots.jsp

    The above screen shots give an idea how jobs are designed using a workflow (flow chart) job model.

    Cheers,
    David

    Threaded Messages (11)

  2. Quartz[ Go to top ]

    Anyone compared this to Quartz, which seems like a good free alternative?
  3. Re: Quartz[ Go to top ]

    I was just trying to do quick comparison.

    Monitoring tool was missing in Quartz as i know. There is a beta version of webapp which shows all the jobs pending, etc. but then, that cannot be integrated easily into your existing webapp/application.

    Anyone has any other thoughts?
  4. Re: Quartz[ Go to top ]

    Anyone has any other thoughts?


    I always urge people to look at what you want your job scheduling software to do for you, then consider the benefits and features of Flux and Quartz. By doing that, things should start to gel for you.

    A lot of the time, I've seen people discover that Flux can meet more of their needs beyond "just scheduling". For instance, we have a financial customer who uses Flux to drive their entire application. They design their jobs using the Flux Job Designer GUI, and then export them to their job scheduler instances. The whole application itself is driven by jobs.

    I've also seen people choose Flux for not only its timing, but its workflow and messaging job model. There's a lot more you can do to incorporate jobs in your system when you have an actual workflow (flow chart) job model to work from. The messaging makes it really easy to do job dependencies. For instance, you can have jobs A, B, C be dependent on job Z. Or vice-versa: job Z can be dependent on jobs A, B, C. A dependent job waits for other jobs to finish, or reach certain milestones, before continuing.

    I've also seen customers start with Flux's timing capabilities, then later start using Flux's file triggers to monitor FTP and secure FTP (SFTP) sites and trigger jobs when files are created, modified, deleted.

    Finally, there's nothing like budgeting some time to actually try it out. You can try out both Quartz and Flux to see what is going to meet your company's needs most cost effectively.

    You can try out Flux and run through some examples without doing any programming, which helps make things easier when you're going for a test drive. Of course, you can also move on to using Flux's APIs too.

    It's like Mike Cannon-Brookes said on his recent TSS interview -- very few people are open source zealots. They just want the best solution for their problem.

    Cheers,
    David
  5. Re: Quartz[ Go to top ]

    So how much does it cost to use Flux?
  6. Cost of Flux[ Go to top ]

    So how much does it cost to use Flux?


    Because every situation is unique, we prefer that people contact us directly for pricing information. We're flexible on the pricing in order to meet lots of different needs, small to large. For instance, there are individuals and very small organizations using Flux in addition to large financial companies, Sun, etc.

    This link provides background information on the cost of Flux.

    For specific pricing, people can contact sales at simscomputing dot com, or they can contact me directly at david at simscomputing-dot-com, or they can call +1 406.656.7398.

    Cheers,
    David
  7. that cannot be integrated easily into your existing webapp/application.


    Oh, I forgot to point out that Flux has a JSP tag library, for integrating Flux job scheduler information into an existing webapp. A web designer can use the Flux JSP taglib to incorporate job information on existing web pages.

    Cheers,
    David
  8. It depends on what you want.[ Go to top ]

    Quartz is a great scheduler api. Right now, the web application is more of a working sample application. Things like an application logon is purposely left out so you can role your own.

    Flux has some nice "sexy" gui's on top of the scheduler.

    However, you may still want more than that. Perhaps a full blown integration engine with a bunch of rich jobs/services built it.
    Like http://www.xmlglobal.com/prod/xbi/index.jsp or http://www.brunswickwdi.com/bie (of course there are many others).

    We do plan to add things like directory monitoring, and some rich jobs (AntJob, and some data transformation services) to quartz. However, the rich jobs will be more of a "contrib" sub project of quartz.

    Matthew Payne
  9. App Server Integration[ Go to top ]

    Can Flux or Quartz be integrated into into an application server? If so, what underlying technology is used to launch a scheduled job? If something thread-based like a TimerTask object is used, doesn't that violate the EJB programming restriction "an EJB must not manipulate threads".
  10. App Server Integration[ Go to top ]

    Can Flux or Quartz be integrated into into an application server?


    Yes, both can.

    > If so, what underlying technology is used to launch a scheduled job?
    > If something thread-based like a TimerTask object is used, doesn't that
    > violate the EJB programming restriction "an EJB must not manipulate
    > threads".

    You would configure any job scheduler so that it is instantiated *outside* the EJB container but still *inside* the app server's JVM. For example, a load-on-startup servlet is an excellent and portable way to do that. In WebLogic, you can also use a Startup Class. In WebSphere 5, you can use a Startup Bean.

    You can also instantiate any job scheduler in an entirely different JVM, but that's infrequently done, since it's a bit inconvenient. But it has been done, and it does work.

    Regarding Flux specifically (because I know it better than Quartz), you can also call Flux from an EJB, in which case the EJB's work and the Flux work is all performed in the same transaction.

    Also, if you configure Flux to use XA transactions, the transaction that governs the firing of a job that calls EJBs or publishes JMS messages is tied into the EJB or JMS transaction, so that all the work is done in just one transaction.

    FYI, regarding EJBs that manipulate threads, the following is taken from the Flux manual's FAQ.

    Question: Does Flux violate the EJB programming restrictions?

    Answer: No. Flux is not an Enterprise JavaBean, but it does integrate tightly with J2EE APIs, if that is desired. J2EE integration in Flux is completely optional. Flux does not violate any EJB or J2EE programming restrictions, because Flux itself does not reside in the EJB container. However, Flux may be instantiated in application server’s JVM, just not its EJB container.

    Cheers,
    David
  11. Hi,
    could some one compare Oracle DBMS_JOB and flux 5.2. In my complex project I am using DBMA_JOB to schedule a job for every second. DBA's make objection to this and state that Database resources are highly utilised for this job and this is a bottleneck. There is no way to control how much of CPU time/OS resources taken for DBMS_JOB.

    Has anyone tried Flux 5.2 to run every second. What happens if the scheduled job can't be completed in a second?
    Thanks in advance for the response.
  12. Hi Senthil,

    > could some one compare Oracle DBMS_JOB and flux 5.2.

    I don't know about this one, but I can answer your other question below.

    > Has anyone tried Flux 5.2 to run every second. What happens
    > if the scheduled job can't be completed in a second?

    Let's say that the scheduled job takes 5 seconds to run. That means you "missed" 4 job firings.

    You can configure your Flux job to:

    a) Totally skip those "missed" job firings. We call them "late".

    b) Skip all but the last late job firing.

    c) Run all the late job firings, regardless of how late they are.

    d) Skip job firings that are more than N seconds late, but still run the job firings that are less than N seconds late. "N seconds" can be generalized to be any amount of time -- seconds, minutes, hours, days, etc.

    All of this is configurable on a per-job basis.

    I hope that answers your question,
    David