Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Fri Sep 20 11:30:00 CET 2024
- Check if there are waiting jobs running into a timeout without any processing jobs
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Sun May 12 14:45:00 CET 2024
- Check if job is found before returning new process
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Mon Mar 25 16:45:00 CET 2024
- Check if job exists before adding again
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Mon Mar 25 13:00:00 CET 2024
- Reverted changed operator on msg_receive function (4.0.16-beta1)
- Check if array is not null before working with its content
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Wed Oct 25 17:30:00 CET 2023
- Changed operator on msg_receive function
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Tue Dez 13 12:00:00 CET 2022
- check if job notification already has been sent
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Fri Nov 25 11:15:00 CET 2022
- set child job state to canceled when ignoring it
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Tue Nov 22 12:45:00 CET 2022
- Set parent job state to failed when orphaned child job is updated
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Tue Nov 22 09:30:00 CET 2022
- Check Job class for notification method when job status changes
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Mon Oct 24 14:50:00 CET 2022
- changed flag option at msg_receive
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Fri Oct 14 16:45:00 CET 2022
- check option and data before updating an existing job
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Mon Sep 05 15:10:00 CET 2022
- added MSG_NOERROR flag
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Mon July 18 14:15:00 CET 2022
- search job with correct filter
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Mon July 18 12:00:00 CET 2022
- defined undefined variable
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Tue July 05 11:25:00 CET 2022
- check if orphaned job is already re-scheduled
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Thu July 01 12:10:00 CET 2022
- re-schedule job when worker is not available anymore
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Wed Jun 29 10:00:00 CET 2022
- Set orphaned parent job status to done when no orphaned child job found
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Tue Jun 21 08:00:00 CET 2022
- Fix when searching for orphaned parent jobs
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Thu Jun 09 09:30:00 CET 2022
- Changed faulty orphaned job handling
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Wed Jun 08 17:15:00 CET 2022
- Reset only parent jobs when found orphaned
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Mon May 30 15:20:00 CET 2022
- Implementation of MongoDB >= v3.6
- Auto detection of orphaned jobs
- Use of changestreams instead capped collections
Maintainer: Sandro Aebischer aebischer@gyselroth.com
Date: Tue July 05 15:44:00 CET 2021
- Added option to define if job interval refers to start or end of previous job
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Thu Dec 05 09:38:31 CET 2019
- Set progress always to 100.0 after a job has been finished
- Fixes build exit worker
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Wed Dec 04 09:38:31 CET 2019
- Fixes event bindings via scheduler #26
- Fixes progress rate limit seconds => miliseconds
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Tue Dec 03 16:50:33 CET 2019
- Add event bindings in the Process handler #26
- Add event callback bindings to wait(), waitFor() #28
- Progress support #29
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Mon Mar 25 16:14:33 CET 2019
- [FIX] Killed workers do not get restarted if no new jobs are added #21
- [CHANGE] Slow "Process::wait()" when dealing with many jobs (Scheduler::waitFor($stack)) #20
- [CHANGE] Events are now completely processed before checking for any new jobs in the queue node
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Mon Jan 28 12:18:34 CET 2019
- [CHANGE] Set intial datetime (not 0), writer worker caught exception: 10003 Cannot change the size of a document in a capped collection #15
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Thu Jan 25 17:29:34 CET 2019
- [FIX] Catch \Throwable insteadof \Exception #13
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Mon Nov 19 17:24:34 CET 2018
- [FEATURE] Added Scheduler::flush to flush the entire queue
- [FIX] fixed event queue creation during queue init
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Tue Sept 25 14:24:34 CEST 2018
- [CHANGE] Implement a systemv message queue to bootstrap workers from a separate fork #6
- [CHANGE] Since #6 is implemented, a the TaskScheduler\WorkerFactoryInterface requires a buildWorker() and a buildManager() implementation
- [CHANGE] Removed Scheduler::OPTION_MAX_CHILDREN, replaced it with Scheduler::OPTION_FORCE_SPAWN
- [CHANGE] A worker manager configured as ondemand will no spawn a worker for each task
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Tue Sept 25 14:24:34 CEST 2018
- [FIX] fixed addJobOnce compare submited options
- [FIX] do not spawn new worker if queue is only aware of fewer jobs than the current number of forks and OPTION_IGNORE_MAX_CHILDREN is requested
- [FIX] added safety zombie job check after a worker exits
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Mon Sept 24 15:24:34 CEST 2018
- [FIX] Locally queued job gets rescheduled if was previously overwritten by the capped collection size limit
- [FIX] Fixed retry_interval with timeout jobs
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Fri Sept 14 13:24:34 CEST 2018
- [CHANGE] Scheduler::cancelJob() does not throw an exception of Type JobNotFoundException if the job is already canceled
- [FEATURE] Added option Scheduler::OPTION_IGNORE_DATA to Scheduler::addJobOnce()
- [CHANGE] Removed UTCDateTime conversion from unix ts for option TaskScheduler\Scheduler::OPTION_AT
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Mon Sept 10 12:22:24 CEST 2018
- [FIX] fix proper exit of worker nodes
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Mon Sept 10 12:22:24 CEST 2018
- [FIX] fix proper exit of queue nodes
- [FIX] Do not log exception if a locally queued node is already queued during worker shutdown
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Fri Sep 07 14:47:34 CEST 2018
- [FIX] Fixed concurrent Scheduler::addJobOnce() requests
- [CHANGE] 0 does now disable retry and interval, -1 sets both to endless
- [CHANGE] Added upgrade guide
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Wed Sep 05 16:47:34 CEST 2018
-
[FIX] Fixed naming of the collections
-
[CHANGE] Using awaitData cursors now instead just tailable which will have a big impact on cpu usage
-
[FIX] Cancelling a job which is out of the queue does now work as well
-
[FEATURE] Possibility to timeout jobs
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Thu Aug 30 11:47:34 CEST 2018
- [FEATURE] Possibility to timeout jobs
- [CHANGE] Process handling changed (breaking!), new Process class which gets returned and can be called for options
- [FEATURE] Possibility to wait for job execution
- [FEATURE] Possibility to listen for any events
- [FEATURE] Event (and exception) log
- [FEATURE] Abort running jobs
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Mon Aug 13 16:50:34 CEST 2018
- [FIX] Added pcntl requirement to composer.json
- [FEATURE] Implemented forks, meaning a the main process (Queue::class) is the fork handler and will bootstrap new child processes (@see README.md to see how to use v3.0.0)
- [CHANGE] Queue::processOnce() is not available anymore, Queue::process() is the only entrypoint and blocking process
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Thu Jul 19 11:02:34 CEST 2018
- [CHANGE] Scheduler::cancelJob() not throws Exception\JobNotFound if job was not found
- [FIX] Fixed driver version (mongodb >= 1.5.0) support for ServerException along ConnectionException to create collection if not propperly setup
- [FIX] Use collection_name from options instead static queue in getCursor()
- [CHANGE] Extended phpstan level to 5
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Thu Jul 19 11:02:34 CEST 2018
- [FEATURE] Get current job id with getId() in a JobInterface implementation
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Thu Jun 15 10:18:02 CEST 2018
- [FIX] fixed addJobOnce if options change the job gets rescheduled
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Thu Jun 15 10:18:02 CEST 2018
- [FIX] fixed addJobOnce if options change the job gets rescheduled
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Wed Mar 28 09:28:23 CET 2018
- [FIX] fixed TaskScheduler\Queue::cleanup, cannot access protected method TaskScheduler\Queue::cleanup()
- [CHANGE] code improvements, added new tests
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Tue Mar 20 11:00:22 CET 2018
- [CHANGE] queue collection gets now automatically created, even if the queue gets removed during processing
- [FEATURE] there is no need anymore to create the queue collection, it is handled automatically by TaskScheduler\Queue
- [FEATURE] retry can now be set to 0 and the job gets rescheduled if failed endlessly according to interval. -1 (Default is reserved for no retry)
- [FEATURE] can now handle process signals (SIGTERM, SIGINT) and reschedule current job before exit
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Wed Mar 14 15:55:22 CET 2018
- [!Breaker] Split Async::class into Queue::class and Scheduler::class
- [FEATURE] Abondend timestamp field and added created, started and ended timestamps
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Thu Jun 15 10:18:02 CEST 2018
- [FIX] fixed addJobOnce if options change the job gets rescheduled
Maintainer: Raffael Sahli sahli@gyselroth.com
Date: Thu Feb 15 08:34:01 CET 2018
- [FIX] fixed typeMap from BSONDocument to array for all getter
- [FIX] fixed "Uncaught MongoDB\Driver\Exception\RuntimeException: The cursor is invalid or has expired" in certain cases
- [FIX] Job with interval gets not rescheduled before the retry count is down to 0
- [FEATURE] Added status STATUS_CANCELED and possibility to cancel job via cancelJob(ObjectId $id) (If not yet started)
- [FEATURE] Added more unit tests