aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add hard requirement for redis-py-clusterfeature/redis-py-cluster_requirementjason2019-01-171-0/+1
| | | this makes deployment of the scheduler easier for the devops team
* Update README.mdjason2019-01-161-5/+0
|
* Update README.mdjason2019-01-161-1/+1
|
* Merge pull request #68 from eventmq/feature/scheduler_redis_cluster_support0.3.10-rc1jason2019-01-169-159/+296
|\ | | | | Scheduler: adds optional support for redis and specifying redis client
| * Scheduler: adds optional support for redis and specifying redis clientfeature/scheduler_redis_cluster_supportjason2019-01-167-104/+186
| | | | | | | | | | | | | | | | | | | | | | - allow optional support for running the scheduler without a redis backend for persistent schedule storage. The default is to exit on startup error. The user can set `redis_startup_error_hard_kill` to false if they really want to run the scheduler with no backend db. - allow users the ability to specify a redis client class. this will let them use redis-cluster if they wish. They can install the appropriate module and define `redis_client_class` (and if necessary class keyword arguments via `redis_client_class_kwargs`).
| * Add JSON dictionary support to configjason2019-01-113-55/+110
|/ | | | | | | - Add's support for JSON dictionaries to the config file. This will allow users to define mappings for certain settings. Initially this will be used for defining additional class parameters for a custom Redis class.
* Merge pull request #65 from eventmq/upgrade_circle_20jason2018-07-181-17/+88
|\ | | | | Upgrade to circleci 2.0
| * Upgrade to circleci 2.0jason2018-07-171-17/+88
| |
* | Merge pull request #66 from eventmq/fix_env_config0.3.9jason2018-07-183-39/+47
|\ \ | | | | | | Fix bug not allowing env vars to be used without a config file
| * | Fix bug not allowing env vars to be used without a config filejason2018-07-183-39/+47
|/ /
* | Merge pull request #64 from eventmq/env_var_config0.3.8jason2018-07-186-35/+67
|\ \ | |/ |/| Allow configuration options to be specified as environment variables
| * Allow configuration options to be specified as environment variablesjason2018-07-176-35/+67
|/
* Merge pull request #63 from eventmq/add_max_sockets_option0.3.7jason2018-07-176-4/+22
|\ | | | | Add an option to define max sockets per context
| * Add an option to define max sockets per contextjason2018-07-176-4/+22
|/
* Merge pull request #62 from eventmq/feature/add_job_setup_teardown_hooks0.3.6jason2018-04-119-17/+199
|\ | | | | Add job setup and cleanup functions
| * fix style errorsjason2018-04-102-5/+4
| |
| * Display EventMQ version on daemon startupjason2018-04-104-5/+12
| |
| * Add job setup and cleanup functionsjason2018-04-106-16/+192
|/ | | | | | | | | | | | | | | | | | | | | | | This adds 2 new config options: `job_entry_func` and `job_exit_func`. These functions are executed before and after every single job execution. The rationale behind this is before and after each request Django cleans up stale database connections, so Django jobs need some way of running this same setup/cleanup functions. https://github.com/django/django/blob/master/django/db/__init__.py#L57 ``` # Register an event to reset transaction state and close connections past # their lifetime. def close_old_connections(**kwargs): for conn in connections.all(): conn.close_if_unusable_or_obsolete() signals.request_started.connect(close_old_connections) signals.request_finished.connect(close_old_connections) ``` fixes: #41
* Add intellij files to gitignore0.3.5.6jason2018-02-271-0/+4
|
* Merge pull request #60 from lindleywhite/masterjason2018-02-194-14/+16
|\ | | | | Remove tabs, and add conf file
| * Remove tabs, and add conf filelwhite2018-02-194-14/+16
|/
* version bump0.3.5.4jason2018-02-192-2/+2
|
* Merge pull request #59 from lindleywhite/masterjason2018-02-192-0/+23
|\ | | | | Add arguments to the scheduler and router
| * Mergelwhite2018-02-190-0/+0
| |\
| | * Add config flags for the scheduler and routerlwhite2018-02-192-0/+22
| |/ |/|
| * Add config flags for the scheduler and routerlwhite2018-02-192-0/+23
|/
* Add back sending ready on reconnections.0.3.5.3jason2018-01-083-2/+11
| | | | - without this the workers get starved.
* fix IntervalIter0.3.5.2jason2017-12-153-10/+6
|
* Version bump to 0.3.5.10.3.5.1jason2017-12-152-2/+2
|
* Merge pull request #58 from com4/masterjason2017-12-151-1/+1
|\ | | | | Fix bug in router with python2
| * Fix bug in router with python2jason2017-12-151-1/+1
|/ | | | | | | | | | | | | - This code seems to have been added awhile ago, but never really tested in python 2. We shouldn't convert strings to unicode in python 2 when receiving messages. This causes a TypeError when forwarding messages: ``` TypeError: Frame 0 (u'719ff6da-ac33-4273-a2bc-6cb9b4...) does not support the buffer interface. ``` References: 55963796809ce5aacf47c24d8295ab5b1a500ad1
* Version bump to 0.3.50.3.5jason2017-12-152-2/+2
|
* Merge pull request #57 from com4/masterjason2017-12-153-60/+69
|\ | | | | Fix bug in scheduler; Optimize scheduler code a bit
| * Fix bug in scheduler; Optimize scheduler code a bitjason2017-12-152-51/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fixes a bug when cancelling schedules due to run count. The schedule cancelled weren't the schedules that were marked for cancellation, but the schedule that was last checked to see if it needed to be executed. (use `job_id` from the cancellation loop instead of the job id from the previous look `k`) - Consolidate the job cancellation logic. The main loop and `unschedule` both implemented the same logic. This was consolidated into a new `cancel_job` method - Optimize the main loop a bit. If `run_count` is 0 then don't write to redis and cancel on the next loop. Instead just cancel the schedule.
| * Process admin commands on the router firstjason2017-12-141-9/+9
|/ | | | - This should help the response time when trying to debug queue issues.
* Merge pull request #56 from sideshowdave7/python3-test-hangDavid Hurst2017-10-142-13/+2
|\ | | | | mock manager call
| * restored skipped testsDavid Hurst2017-10-142-13/+0
| |
| * skip job manager tests and get rid of pool instantiationDavid Hurst2017-10-142-10/+10
| |
| * skip testDavid Hurst2017-10-141-0/+1
| |
| * mock manager callDavid Hurst2017-10-141-1/+2
|/
* get rid of ready calls at very beginning of event loopDavid Hurst2017-10-141-9/+0
|
* Merge remote-tracking branch 'com4/master'David Hurst2017-10-145-17/+19
|\
| * Switch multiprocessing.Queue to a multiprocessing manager queuejason2017-08-183-5/+6
| | | | | | | | | | | | | | | | | | - We saw an issue where sometimes a finish message from the sub process was being lost so the master process never notified the router that it was READY for more work. After a few minutes the router would stop sending jobs to the jobmanager. Changing the multiprocessing Queue to a mp.Manager proxy queue solved the issue. - Version bump for 0.3.4.11 to release this fix
| * Revert "Backport 0.4 handling of workers after death"jason2017-08-182-10/+9
| | | | | | | | | | | | | | - This was a stab at a fix which didn't fix the issue we were seeing. It's possible that it caused a memory issue so it is being reverted. This reverts commit 56cfa885b92b024dc2f70157a0f0b7826ad23e5b.
| * Merge branch 'master' of github.com:eventmq/eventmqjason2017-08-1411-49/+134
| |\
| * \ Merge branch 'master' of github.com:eventmq/eventmqjason2017-05-3110-46/+124
| |\ \
| * | | Update logger to use RFC-3339 timestampsjason2017-04-201-2/+4
| | | |
* | | | better python3 supportDavid Hurst2017-10-141-1/+11
| | | |
* | | | Merge pull request #55 from eventmq/fix/metric_by_worker_typoDavid Hurst2017-09-181-1/+1
|\ \ \ \ | |_|_|/ |/| | | Fix typo in router for metrics gathering
| * | | Update router.pyDavid Hurst2017-08-211-1/+1
|/ / /