Comments (4)
@dan Looking at delayed_paperclip code it looks like there is some memoization going on so perhaps you should try this:
has_attached_file :photo, {
styles: {
thumb: ['100x100#', :jpg],
medium: ['300x300#', :jpg],
}
}.merge(PAPERCLIP_STORAGE_OPTIONS)
has_attached_file :picture, {
styles: {
thumb: ['100x100#', :jpg],
medium: ['300x300#', :jpg],
}
}.merge(PAPERCLIP_STORAGE_OPTIONS)
process_in_background :photo
process_in_background :picture
from delayed_paperclip.
This looks like a legit bug in the way delayed_paperclip stores its data
process_in_background
uses paperclip_definitions
to store options for the delayed processing. paperclip_definitions
caches the object it gets back from calling either attachment_definitions
or Paperclip::Tasks::Attachments.definitions_for(self)
. Looking at paperclip master, definitions_for
no longer exists, but attachment_definitions
still does which hits Paperclip::AttachmentRegistry.definitions_for(self) which always returns a new hash with the current state of defined attachments. Due to the caching, this object won't be updated when new attachments are defined, so the second call cannot find any attachments defined after the first.
Looks like @jdguzman posted a workaround. As for delayed_paperclip, I think it should try and handle its own data, separate from paperclip's internal data.
from delayed_paperclip.
@ryansouza I agree that this looks like a bug. The quick and dirty solution would be to remove the memoization and take the, probably small, performance hit.
I may take a stab at a better solution later when I'm not under piles of work.
from delayed_paperclip.
Thanks for looking at this in depth. Pull requests would be very much appreciated.
from delayed_paperclip.
Related Issues (20)
- Latest commit to paperclip master breaks gem HOT 1
- undefined method `[]=' for nil:NilClass HOT 2
- Delayed Job w/ s3, Missing required :bucket option error HOT 11
- FFMPEG hangs/stalls when converting large files HOT 1
- Errors are silently swallowed instead of being raised to the background processor HOT 1
- Needs a failure callback
- Not saving original file - only those styles specified in only_process are created HOT 4
- paperclip-document style is not working with background
- Gem doesn't work with S3 HOT 4
- Handle Record Not Found Exceptions HOT 2
- NoMethodError: undefined method `fetch' for nil:NilClass with postgres HOT 1
- Release latest changes in master
- Support Priority of DelayedJob. HOT 2
- Processors not being called HOT 2
- Job failed to load: undefined class/module DelayedPaperclip
- Linking existing S3 object to Paperclip does not trigger Delayed::Job HOT 1
- Not generating cropped images when using papercrop
- Creates original style twice on S3
- How to skip process_in_background method call in some case
- Avoid creating jobs when nothing to process
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from delayed_paperclip.