forked from QueueClassic/queue_classic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathchangelog
146 lines (115 loc) · 4.55 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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
Unreleased
- Fixed a bug in the offset calculation of `.enqueue_at`.
- Use the jsonb type for the args column from now on. If not available, fall back to json or text.
- `enqueue`, `enqueue_at`, `enqueue_in` return job hash with id.
- Fixed unlock query for versions below Postgres 9.2
Version 3.0.0rc
- Improved signal handling
Version 3.0.0beta
- Workers can process many queues.
Version 2.2.3
- Update pg dependency to 0.17.0
Version 2.3.0beta [YANKED]
- Concurrent job processing.
Version 2.2.2
- Update pg dependency to 0.16.0
Version 2.2.1
- Force listen/notify on worker
- Notifications happen inside PostgreSQL trigger
- Add rake task for generating rails migrations
- Fix bug related to listening worker
Version 2.2.0
- Use json from the stdlib in place of MultiJson.
- Use postgresql's json type for the args column if json type is available
- 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)
- QC.log now reports time elapsed in milliseconds.
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