Okay, so if you run git master of kombu, this works. And if you run
the older kombu + kombu-sqlalchemy, this also worked. In the last
release of kombu (2.1.5) there's a bug, and sqlalchemy+sqlite://
worked for processes consuming tasks but not ones publishing tasks.
Aye aye aye.
I guess we might have to move our setup.py back to the old kombu +
kombu-sqlalchemy setup until they put out a new kombu release? :(
Previously we were using kombu-sqlalchemy the library for sqlalchemy
support. Newer kombu has support for this internally, so we're using
that. Requires changing a celery setting and also removing
kombu-sqlalchemy from your path.
I hope the process of removing kombu-sqlalchemy from one's path
doesn't confuse too many people...!
We're seeing somewhat inconsistent data in tx pull.
My theory is: The server needs longer to process the
uploaded new template and work that into the translations.
* Nixed some of the mongodb references--pretty sure we're done with that.
* Fixed some awkward language.
* Fixed : :: stuff. Sphinx lets you do :: so you don't need the additional
colon.
* Turned a paragraph into a .. note:: section. That makes it easier to
notice and read.
- Added configurable options
- Video
- vp8_quality
- vp8_threads
- vorbis_quality
- Audio
- spectrogram_fft_size
- ASCII
- thumbnail_font
- Cleaned up ascii.asciitoimage
- Cleaned up video.transcoders
- Changed default video quality settings to better quality
- Changed default audio spectrogram solution to the double.
- Added a hacky notice for Firefox users instead of the broken range
input.
The cleanup could be missed if the request handling code in
app.py:__call__ exits early (due to exception, or due to
one of those early "return"s).
So to make sure the sql session is cleaned up for real,
wrap the whole thing in a try: finally:.
Also wrote a short tool to test if the session is actually
empty. The tool is currently disabled, but ready to be
used.
After converting everything, check what is actually used in
the db. For media_types that are not used, drop all the
media_data tables and remove the migration info.
Attributes of SQLAlchemy objects get "lost". So "cache"
them locally in the code.
This is really the simple explanation for some scarry
sqlalchemy details.
This switches the whole source code over to use sql instead
of mongodb. It's a pretty easy change, but changes nearly
the complete way things work. Hopefully everythong works!
The JSON fields are really "dumb stuff in here" fields.
They are not intended to get indexed or anything. And they
can get large. For example the exif_all field in one of my
simple tests is nearly 7 kB large. Although VARCHAR might
work, TEXT feels just better as the storage type.