Sundial | A Light-weight Job Scheduling Framework | Job Scheduling library

 by   knowm Java Version: Current License: Apache-2.0

kandi X-RAY | Sundial Summary

kandi X-RAY | Sundial Summary

Sundial is a Java library typically used in Data Processing, Job Scheduling applications. Sundial has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. You can download it from GitHub, Maven.

Sundial is a lightweight Java job scheduling framework forked from Quartz (stripped down to the bare essentials. Sundial also hides the nitty-gritty configuration details of Quartz, reducing the time needed to get a simple RAM job scheduler up and running. Sundial uses a ThreadLocal wrapper for each job containing a HashMap for job key-value pairs. Convenience methods allow easy access to these parameters. JobActions are reusable components that also have access to the context parameters. If you are looking for a hassle-free 100% Java job scheduling framework that is easy to integrate into your applications, look no further.

            kandi-support Support

              Sundial has a low active ecosystem.
              It has 249 star(s) with 52 fork(s). There are 14 watchers for this library.
              It had no major release in the last 6 months.
              There are 4 open issues and 27 have been closed. On average issues are closed in 467 days. There are 8 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of Sundial is current.

            kandi-Quality Quality

              Sundial has 0 bugs and 0 code smells.

            kandi-Security Security

              Sundial has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              Sundial code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              Sundial is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              Sundial releases are not available. You will need to build from source code and install.
              Deployable package is available in Maven.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              It has 7912 lines of code, 775 functions and 102 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed Sundial and discovered the below as its top functions. This is intended to give you an instant insight into Sundial implemented functionality, and help decide if they suit your requirements.
            • Main execution loop
            • Determine whether a new time should be new
            • Release triggers if the schedule has changed
            • Initialize the JobExecutionContextImpl
            • Schedule a given Trigger
            • Stops a Job
            • Stops a Job matching the given Job Name
            • Executes the job
            • Notifies the listeners that the execution context has been started
            • Adds the given Job or Trigger to the scheduler
            • Gets the next invalid date after the given date
            • Increment the number of times a trigger
            • Reschedules a trigger
            • Acquires a trigger
            • Replace a trigger with the given key
            • Execute the given Runnable in a thread
            • Finds a resource by name
            • Finds a resource by its name
            • Returns the detail message string
            • Initialize the XML parser
            • Trigger a job
            • Notifies all of the triggers that have been fired
            • Initializes the SchedulerServlet
            • Updates the state of the SimpleTriggerInInstructions parameter
            • Starts the job
            • Notifies the listeners that a trigger has completed
            Get all kandi verified functions for this library.

            Sundial Key Features

            No Key Features are available at this moment for Sundial.

            Sundial Examples and Code Snippets

            No Code Snippets are available at this moment for Sundial.

            Community Discussions


            Touch Input in Unity remembers the last position
            Asked 2021-May-05 at 10:48

            So, I am trying to rotate an object. Pretty straightforward, as soon as the screen is touched, a Vector3 is created, gets the touch position and then, while the user drags their finger on the screen, it does the calculations to rotate the object. When the user removes their finger from the screen, the Vector3 gets destroyed and everything keeps on working fine.

            On the editor, it works flawlessly. On an android device howerver, it feels like the device remembers where was the last point that got touched. So, there is no issue on the first time the user tries to rotate the object but, in case they want to rotate it again, the script calculates where the user last tapped and rotates the object as if the user dragged their finger all the way to the new position.

            Is there a reason for that? Does the android device store the touch positions? If so, is there a way to reset that? As an extra question, would something similar happen to an iOS device as well?

            Edit: The code.



            Answered 2021-May-05 at 08:14

            The OnMouseDrag function is probably only meant for the mouse. I usually use some code like this to detect whether something is being clicked on:



            Purpose of cswrapper code, sundials solver in FMPy
            Asked 2021-Apr-06 at 09:38

            About FMPy which is a python package for FMU simulation. I need one clarification : What is the purpose of cswrapper code, sundials solver or functions? Is it only required for ModelExchange type FMU simulation and not for Co-simulation type FMU simulation?



            Answered 2021-Apr-06 at 09:38

            With the cswrapper code you can "wrap" a ME FMU as a CS FMU by adding a (sundials) solver, see So you get from a ME a CS FMU. Additionally, the CVODE solver can be used to simulate ME FMUs in fmpy.



            how can I fixed the Jmodelica compiling error?
            Asked 2021-Feb-22 at 13:46

            I am trying to compile a Modelica model (built in Dymola) using Jmodelica, but got the following error:

            Compiler arguments: Generating code...
            ====== Model compiled successfully ======= OU44_ZoneR2C2_funcs.o:OU44_ZoneR2C2_funcs.c:(.text+0x24): undefined reference to 'ModelicaStandardTables_CombiTable1D_minimumAbscissa'
            OU44_ZoneR2C2_funcs.o:OU44_ZoneR2C2_funcs.c:(.text+0xbc): undefined reference to 'ModelicaStandardTables_CombiTable1D_maximumAbscissa' OU44_ZoneR2C2_funcs.o:OU44_ZoneR2C2_funcs.c:(.text+0x1e7): undefined reference to 'ModelicaStandardTables_CombiTable1D_init2'
            collect2.exe: error: ld returned 1 exit status
            mingw32-make1: *** [fmume20_] Error 1
            mingw32-make: *** [fmume20] Error 2
            "C:/Users/taoy/AppData/Roaming/" -f "C:\Users\taoy\AppData\Roaming\\install\Makefiles\MakeFile" "PLATFORM_FLAG=-m64" "RUNTIMELIBRARY_LIB_DIR=C:\Users\taoy\AppData\Roaming\\install/lib/RuntimeLibrary64" "MINPACK_LIB_DIR=C:\Users\taoy\AppData\Roaming\\install/ThirdParty/Minpack/lib64" "SUNDIALS_LIB_DIR=C:\Users\taoy\AppData\Roaming\\install\ThirdParty\Sundials/lib64" "WINPTHREADS_LIB_DIR=C:\Users\taoy\AppData\Roaming\\install/ThirdParty/winpthreads/lib/winpthreads64" fmume20_
            mingw32-make1: Entering directory
            'C:/Users/taoy/AppData/Local/Temp/1/jmc7241264750773945049out' "gcc" -m64 -std=c89 -pedantic -msse2 -mfpmath=sse -O1 "-IC:\Users\taoy\AppData\Roaming\\install/include/RuntimeLibrary" "-IC:\Users\taoy\AppData\Roaming\\install/ThirdParty/FMI/2.0" "-IC:\Users\taoy\AppData\Roaming\\install\ThirdParty\Sundials/include" -c -o "OU44_ZoneR2C2_funcs.o" sources/OU44_ZoneR2C2_funcs.c "gcc" -m64 -std=c89 -pedantic -msse2 -mfpmath=sse "-IC:\Users\taoy\AppData\Roaming\\install/include/RuntimeLibrary" "-IC:\Users\taoy\AppData\Roaming\\install/ThirdParty/FMI/2.0" "-IC:\Users\taoy\AppData\Roaming\\install\ThirdParty\Sundials/include" -c -o "OU44_ZoneR2C2_init_independent.o" sources/OU44_ZoneR2C2_init_independent.c "gcc" -m64 -std=c89 -pedantic -msse2 -mfpmath=sse "-IC:\Users\taoy\AppData\Roaming\\install/include/RuntimeLibrary" "-IC:\Users\taoy\AppData\Roaming\\install/ThirdParty/FMI/2.0" "-IC:\Users\taoy\AppData\Roaming\\install\ThirdParty\Sundials/include" -c -o "OU44_ZoneR2C2_init_dependent.o" sources/OU44_ZoneR2C2_init_dependent.c "gcc" -m64 -std=c89 -pedantic -msse2 -mfpmath=sse "-IC:\Users\taoy\AppData\Roaming\\install/include/RuntimeLibrary" "-IC:\Users\taoy\AppData\Roaming\\install/ThirdParty/FMI/2.0" "-IC:\Users\taoy\AppData\Roaming\\install\ThirdParty\Sundials/include" -c -o "OU44_ZoneR2C2_base.o" sources/OU44_ZoneR2C2_base.c "gcc" -m64 -std=c89 -pedantic -msse2 -mfpmath=sse "-IC:\Users\taoy\AppData\Roaming\\install/include/RuntimeLibrary" "-IC:\Users\taoy\AppData\Roaming\\install/ThirdParty/FMI/2.0" "-IC:\Users\taoy\AppData\Roaming\\install\ThirdParty\Sundials/include" -c -o "OU44_ZoneR2C2_equ.o" sources/OU44_ZoneR2C2_equ.c "gcc" -m64 -std=c89 -pedantic -msse2 -mfpmath=sse "-IC:\Users\taoy\AppData\Roaming\\install/include/RuntimeLibrary" "-IC:\Users\taoy\AppData\Roaming\\install/ThirdParty/FMI/2.0" "-IC:\Users\taoy\AppData\Roaming\\install\ThirdParty\Sundials/include" -c -o "OU44_ZoneR2C2_equ_init.o" sources/OU44_ZoneR2C2_equ_init.c "gcc" -m64 -std=c89 -pedantic -msse2 -mfpmath=sse "-IC:\Users\taoy\AppData\Roaming\\install/include/RuntimeLibrary" "-IC:\Users\taoy\AppData\Roaming\\install/ThirdParty/FMI/2.0" "-IC:\Users\taoy\AppData\Roaming\\install\ThirdParty\Sundials/include" -c -o "OU44_ZoneR2C2.o" sources/OU44_ZoneR2C2.c
            mkdir binaries\win64 "C:\Users\taoy\AppData\Roaming\\MinGW\bin\g++" -m64 -shared -m64 -o "binaries/win64/OU44_ZoneR2C2.dll" OU44_ZoneR2C2_funcs.o OU44_ZoneR2C2_init_independent.o OU44_ZoneR2C2_init_dependent.o OU44_ZoneR2C2_base.o OU44_ZoneR2C2_equ.o OU44_ZoneR2C2_equ_init.o OU44_ZoneR2C2.o "-LC:\Users\taoy\AppData\Roaming\\install/lib/RuntimeLibrary64" -lfmi2 -static-libstdc++ -static-libgcc -ljmi "-LC:\Users\taoy\AppData\Roaming\\install/lib" -L"C:\Users\taoy\Documents\Modelica Standard Library 3.2.3\Modelica 3.2.3\Resources\Library/win64/gcctdm510" -L"C:\Users\taoy\Documents\Modelica Standard Library 3.2.3\Modelica 3.2.3\Resources\Library/win64" -L"C:\Users\taoy\Documents\Modelica Standard Library 3.2.3\Modelica 3.2.3\Resources\Library" -lModelicaStandardTables -lModelicaIO -lModelicaMatIO -lzlib -lModelicaExternalC -ljmi_get_set_default -lModelicaStandardTables -lModelicaIO -lModelicaMatIO -lzlib -lModelicaExternalC -ljmi_get_set_default -llapack -lblas -l:libgfortran.a -l:libquadmath.a -lModelicaExternalC -lzlib -ljmi "-LC:\Users\taoy\AppData\Roaming\\install\ThirdParty\Sundials/lib64" -l:libsundials_kinsol.a -l:libsundials_nvecserial.a -l:libsundials_cvode.a "-LC:\Users\taoy\AppData\Roaming\\install/ThirdParty/Minpack/lib64" -l:libcminpack.a "-LC:\Users\taoy\AppData\Roaming\\install/ThirdParty/winpthreads/lib/winpthreads64" -l:libwinpthread.a C:\Users\taoy\AppData\Roaming\\install\Makefiles\MakeFile:214: recipe for target 'fmume20_' failed mingw32-make1: Leaving directory 'C:/Users/taoy/AppData/Local/Temp/1/jmc7241264750773945049out' C:\Users\taoy\AppData\Roaming\\install\Makefiles\MakeFile:210: recipe for target 'fmume20' failed
            Unknown program error, org.jmodelica.util.exceptions.CcodeCompilationException: Compilation of generated C code failed.
            C file location: C:\Users\taoy\AppData\Local\Temp\1\jmc7241264750773945049out\sources\OU44_ZoneR2C2.c

            It says model compiled successfully, but the error occurs afterwards. I looked into model, if I delete the model component "CombiTable1D from Modelica standard Library", then the error is fixed. Seems likt something is wrong with this component. However, this component is necessasy in my model.

            How can this problem be solved?



            Answered 2021-Feb-22 at 13:46

            ModelicaStandardTables_CombiTable1D_minimumAbscissa was added in 2017, but JModelica uses a 2016 version of the MSL C-sources:

            You likely need to use an earlier version of the Modelica Standard Library (3.2.2 is included with JModelica), or a different Modelica tool since JModelica is discontinued.



            How to perform adjoint sensitivity in Python (preferably through CVODE)
            Asked 2020-Dec-15 at 12:08

            I want to implement the adjoint sensitivity analysis in python, in order to determine the gradient of my objective function with respect to some parameters. In specific the objective function depends on the solution of a differential equation which in turn depends on said parameters which I am looking to find the optimum of.

            To perform this there are numerous good packages both in Julia (see here), as well as CVODES from SUNDIALS, however the latter which does apparently have a wrapper made for python, does not include sensitivity analysis capabilities according to this link. Furthermore, I have looked into SALib for sensitivity analysis, but as far as I understand this refers to some other type of 'sensitivity analysis' and therefore adjoint or even forward sensitivity analysis is not included (correct me if I am wrong on this one).

            Thus my question is, does a version of CVODES exist in python with sensitivity analysis capabilities, or is there there any other package where one can use in order to perform adjoint sensitivity analys?



            Answered 2020-Dec-15 at 12:08

            You can easily call Julia code / packages from Python with pyjulia.



            undefined symbols remain, but shared libraries compile and seem to function properly
            Asked 2020-Sep-21 at 09:16

            My goal was to build shared libraries from SUNDIALS 2.7.0 - these are solvers of ordinary differential equations, written in C.

            I've downloaded the source, and followed the installation guide:

            1. run Cmake (with GUI), checked options "CVODE" (this is one of the available solvers - the only one I wanted), "build shared libraries" and "use generic (std-c) math libraries" and generated the Makefile.
            2. run make && make install in the Linux console and my shared libraries got generated, with no error messages at all. Here is the output:


            Answered 2020-Sep-21 at 09:16

            You have undefined symbol with ldd because the so files were created without the -lm option. However it will not be a problem as long as the final executable is linked with -lm option. It is what is done for tests like test_nvector_serial which is linked with -lm -lrt.

            You can see all this by running the make in a verbose mode with make VERBOSE=1. If you try to generate the executable without -lm you will have collect2: error: ld returned 1 exit status and the linker complaining about exp, pow and sqrt. if you add -lm when creating the so files ( I did it ). you will see :



            How to create .dll or .lib from multiple c source and header files in visual studio?
            Asked 2020-Sep-01 at 17:55

            I have C source files and header files from the first version(1.0) of Sundials numerical solver.


            In the makefile information for IDA solver, it looks like this.



            Answered 2020-Sep-01 at 17:55

            "I would like to do the same thing in Windows 10 and visual studio (2019)..."

            Here are example steps using Visual Studio 2019:

            Note, because Visual Studios is by definition an IDE, it removes much of the the responsibility from the developer to know as much about make-files and command line-compile instructions. These things are done within the Visual Studios application via menus and buttons on a GUI.

            • On the menu bar, choose File > New > Project to open the Create a New Project dialog box.

            • At the top of the dialog, set Language to C++ [or C], set Platform to Windows, and set Project type to Library.

            • From the filtered list of project types, select [Console App], then choose Next.

            • In the Configure your new project page, enter some [Name] in the Project name box to specify a name for the project. Enter [StaticNameLib] in the Solution name box. Choose the Create button to open the Windows Desktop Project dialog.

            • In the Windows Desktop Project dialog, under Application type, select Static Library (.lib).

            • Under Additional options, uncheck the Precompiled header check box if it's checked. Check the Empty project box.

            • Choose OK to create the project.

            Note: Content within italicized square brackets ( [...] ) is mine. See link below for original.

            link below



            Cmake: setting rpath
            Asked 2020-Jun-15 at 09:28

            I'm trying to switch from GNU Make to CMake on a C++ project. My plan is to distribute alongside the source code of my library, also the code of two external libraries that are needed.

            The project is structured as follows



            Answered 2020-Jun-15 at 09:25

            Try to use target_link_options instead of target_link_libraries.


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install Sundial

            You can download it from GitHub, Maven.
            You can use Sundial like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the Sundial component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer For Gradle installation, please refer .


            Please report any bugs or submit feature requests to Sundial's Github issue tracker.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone knowm/Sundial

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Job Scheduling Libraries

            Try Top Libraries by knowm


            by knowmJava


            by knowmJava


            by knowmJava


            by knowmJavaScript