forked from QueueClassic/queue_classic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog
116 lines (92 loc) · 3.67 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
Unreleased
- QC::Worker#handle_failure logs the job and the error
- QC.default_queue= to set your own default queue. (can be used
in testing to configure a mock queue)
Version 2.1.4
- update pg dependency to 0.15.1
- document logging behaviour
Version 2.1.3
- Use MultiJson (Ezekiel Templin: #106)
Version 2.1.2
- Use 64bit ints as default data types in PostgreSQL
- add process method in worker
- Allow percent-encoded socket paths in DATABASE_URL
Version 2.1.1
- update pg gem version
Version 2.1.0
- wrap connection execution in mutex making it thread safe
- cleanup logging
- refactor worker class making it more extensible
- added rdoc style docs for worker class
Version 2.0.5
- allow term signal to halt the lock_job function
Version 2.0.4
- provider a connection setter.
Version 2.0.3
- fix typo :(
Version 2.0.2
- remove scrolls dependency
- fix issue with notify not working on non-default queues
Version 2.0.1
Version 2.0.0
- simpler setup via QC::Setup.create (rake qc:create) & QC::Setup.drop (rake
qc:drop)
- simpler abstractions in implementation
- better support for instrumentation via log_yield hook in QC module
- multiple queues use one table with a queue_name column
Version 1.0.2
- update to latest okjson as the current has bugs
Version 1.0.1
- using OkJson instead of any sort of rubygem
- remove html from docs
- use parameterised queries
- don't set application name by default
- injection attack bug fixed in lock_head()
- notificaiton get sent on seperate chans for disjoint queues
Version 1.0.0rc1
- Removed json gem and relying on ruby 1.9.2's stdlib
- Added better documentation
Version 0.3.6pre
- Added listen/notify support configured by $QC_LISTENING_WORKER otherwise uses Kernel.sleep()
Version 0.3.5pre
- Removed debug statement. Mistake!
Version 0.3.4pre
- Added logging configured by $VERBOSE or $QC_VERBOSE.
- Added a method setup_child that gets called right after a worker forks.
- Removed database helper methods: create_table, drop_table, silence_warnings.
- Removed queue connection helper methods. Status should be discoverd by psql or the likes.
Version 0.3.3pre
- Removed PUB/SUB
- Added GC after working a job
- Added support for a database_url other than $DATABASE_URL. $QC_DATABASE_URL
- Added exp backoff configured by $QC_MAX_LOCK_ATTEMPTS (default = 5)
- Added option for forking worker configured by $QC_FORK_WORKER (default = false)
Version 0.3.2
- Fixed bug which caused workers to consume 2 connections. Now they only consume 1
- Added a rake file for tests
- Added support for postgres:///db_name DATABASE_URLs
Version 0.3.1
- Added query interface for introspection success
- Moved the locking of jobs into the DB as a PG function. SELECT lock_head()
- Added requirement for DB connection. MUST BE URI i.e. DATABASE_URL=postgres://user:pass@localhost/db_name
- Added rake qc:create_queue. This task will add a new table. Use this for multiple queues.
- Added a bit of randomness to the lock_head() function. Helps you scale to a hilarious number of workers.
- Added support for trapping INT and TERM signals in the worker. ^C to stop after finished and ^C^C to kill.
- Renamed the jobs table to queue_classic_jobs
- Renamed the jobs channel to queue_classic_jobs
- Added support for multiple queues
Version 0.2.2
- Fixed problems with enqueueing a list of parameters.
Version 0.2.1
- Added method for handling errors.
- Added ability to enqueue a Job instance. Makes retrying jobs easier.
- Added delete_all.
- Fixed connection algorithm. 1 connection per process.
- Fixed API for enqueue. Now accepting 1 arg or many args.
Version 0.2.0
- Beta Release
- Added method for handling failed jobs
- Added Benchmarks
- Removed logging
- Moved the Job class into it's own file
0.1.6