Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New features for custom job/scheduler running times #29

Merged
merged 37 commits into from
Sep 19, 2017
Merged

Commits on Mar 20, 2017

  1. Clean up

    peppeocchi committed Mar 20, 2017
    Configuration menu
    Copy the full SHA
    4434e60 View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2017

  1. Updated phpunit

    peppeocchi committed Apr 6, 2017
    Configuration menu
    Copy the full SHA
    8ca3c33 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2017

  1. Refactoring for v2

    peppeocchi committed Apr 10, 2017
    Configuration menu
    Copy the full SHA
    3f19a72 View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2017

  1. Refectory for v2 pt2

    peppeocchi committed Apr 14, 2017
    Configuration menu
    Copy the full SHA
    62a9b54 View commit details
    Browse the repository at this point in the history
  2. Required dev php7

    Phpunit v6 requires php7 to run
    peppeocchi committed Apr 14, 2017
    Configuration menu
    Copy the full SHA
    dbf78ec View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2017

  1. Fancy helpers

    peppeocchi committed Apr 15, 2017
    Configuration menu
    Copy the full SHA
    204b422 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c792daa View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a47472b View commit details
    Browse the repository at this point in the history
  4. Coveralls

    peppeocchi committed Apr 15, 2017
    Configuration menu
    Copy the full SHA
    d0e1c8b View commit details
    Browse the repository at this point in the history
  5. Coverall config

    peppeocchi committed Apr 15, 2017
    Configuration menu
    Copy the full SHA
    3ce38f9 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    497d58b View commit details
    Browse the repository at this point in the history
  7. Typo fix

    peppeocchi committed Apr 15, 2017
    Configuration menu
    Copy the full SHA
    56b68f3 View commit details
    Browse the repository at this point in the history
  8. Removed deprecated flag

    peppeocchi committed Apr 15, 2017
    Configuration menu
    Copy the full SHA
    dc4d4a9 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    3361e91 View commit details
    Browse the repository at this point in the history
  10. Removed psr/log suggestion

    peppeocchi committed Apr 15, 2017
    Configuration menu
    Copy the full SHA
    0f398a3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    091a1e0 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2017

  1. Configuration menu
    Copy the full SHA
    2a8deba View commit details
    Browse the repository at this point in the history
  2. Fixes from styleci

    peppeocchi committed Apr 16, 2017
    Configuration menu
    Copy the full SHA
    c208b68 View commit details
    Browse the repository at this point in the history
  3. Downgraded phpunit

    Using an older version of phpunit to allow testing on php5, as phpunit
    v6 requires php7
    peppeocchi committed Apr 16, 2017
    Configuration menu
    Copy the full SHA
    fc10754 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5ecb2de View commit details
    Browse the repository at this point in the history
  5. More fixes from styleci

    peppeocchi committed Apr 16, 2017
    Configuration menu
    Copy the full SHA
    6210b3f View commit details
    Browse the repository at this point in the history
  6. Fixes from styleci

    peppeocchi committed Apr 16, 2017
    Configuration menu
    Copy the full SHA
    9fd8c95 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7ee760a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    406fb0e View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2017

  1. Configuration menu
    Copy the full SHA
    1aa485c View commit details
    Browse the repository at this point in the history

Commits on Apr 21, 2017

  1. Typo in the documentation

    Ref #16
    peppeocchi committed Apr 21, 2017
    Configuration menu
    Copy the full SHA
    08abf9f View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2017

  1. Configuration menu
    Copy the full SHA
    6faa1de View commit details
    Browse the repository at this point in the history
  2. Fix #20

    Added support for SwiftMailer ^6.0
    
    ::newInstance() method has been deprecated, along with
    Swift_MailTransport.
    
    The default mail transport is now sendmail when using swiftmailer
    
    https://legalhackers.com/advisories/SwiftMailer-Exploit-Remote-Code-Exec
    -CVE-2016-10074-Vuln.html
    peppeocchi committed Jul 7, 2017
    Configuration menu
    Copy the full SHA
    c086719 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2017

  1. Configuration menu
    Copy the full SHA
    f5b2a97 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2017

  1. Implementation of #23 using then method

    Similar implementation of the PR #23 submitted by @badyto
    
    Reused the same tests on that PR
    
    There is also a possible breaking change with the output passed to the
    callback in the `then` method, when executing a script the output will
    be now an array instead of a string.
    peppeocchi committed Aug 10, 2017
    Configuration menu
    Copy the full SHA
    77e2e95 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2017

  1. Added scheduler test

    This test ensures that if a job is delayed by e.g. a previous job, it
    will run if it was due when the scheduler ran.
    peppeocchi committed Aug 26, 2017
    Configuration menu
    Copy the full SHA
    c5eb1a1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b8337c6 View commit details
    Browse the repository at this point in the history
  3. Removed comment from test

    peppeocchi committed Aug 26, 2017
    Configuration menu
    Copy the full SHA
    2eafcf5 View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2017

  1. Allow run() to be executed multiple times (#24)

    * Allow run() to be executed multiple times
    
    The current code expects the run() to be called only once. This is
    fine if you start the scheduler from cron each minute and re-initialize
    it each time. If you want to manually run the scheduler, or maybe
    have a lot of jobs you do not want to init each minute, it would
    be useful to call run() multiple times in the lifetime of the
    scheduler.
    
    In this case the collected data of the last run should be reset.
    the executedJobs, failedJobs and outputSchedule.
    
    * Allow queued jobs to be removed
    
    If the scheduler is used to do multiple runs then it would be useful
    to reset all queued Jobs. Currently the only way to do this is by
    re-creating the scheduler object. But if the object is injected in the
    code then this is not practical..
    
    * Fix StyleCI analysis failure
    
    Comment format fixed.
    
    * Allow run() to be executed multiple times
    
    After discussion with @peppeocchi make the re-running manually
    triggered. So added a resetRun() method which can be called before
    each run(). Also adjusted the test for this.
    
    * Allow run() to be executed multiple times
    
    The isDue check on the jobs is not provided a datetime in the run()
    method. This means they use the creation time of the job as the
    'current' time to compare against.
    
    Most likely this creation time is approx the time run() is called so
    normally this is no problem. But if setting up the job schedule takes
    more time then I would say, using the creation time as run time is
    unexpected. And if you run run() multiple times then it will always
    run the same jobs because the time never changes.
    
    So now provide an explicit run time for all jobs, which is the same
    for all jobs each run.
    
    * Fix StyleCI analysis failure
    
    Remove empty line
    merijnvdk authored and peppeocchi committed Sep 1, 2017
    Configuration menu
    Copy the full SHA
    f8374af View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2017

  1. Configuration menu
    Copy the full SHA
    9d55b27 View commit details
    Browse the repository at this point in the history
  2. Allow run() to run at arbitrary time (#28)

    Currently when run() is called it uses the current time as the run
    timestamp. However it would be useful to run the scheduler at a
    specific time. So allow an optional param with a DateTime to run().
    
    Reasons for running at a specific time other than now() could be:
    
    - Catching up on 'missed' runs, eg. when the system was down.
    
    - Making sure the scheduler runs at an intended timestamp eg. when
    cron is started at midnight it could be slow and start the php process
    only at 00:01 and thus missing all midnight schedules.
    
    - Improve testability of the scheduler (fake the time)
    merijnvdk authored and peppeocchi committed Sep 19, 2017
    Configuration menu
    Copy the full SHA
    72a20d9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1aa51f2 View commit details
    Browse the repository at this point in the history