Pass newly created object to after_create callback in Rails
Everytime an object has been created i want to enqueue it in a Redis queue to check for certain properties. How can i add the created object directly as a parameter to the callback? So my redis job would do something like this:
class FurtherProcessCarJob
#....
def self.perform(order)
puts order.id
end
end
whereas in the model
after_create Resque.enqueue FurtherProcessCar, #self
It is possible to hook a method to the callback and there look for the car again and the enqueue the object, but is it possible to do it directly?
ruby-on-rails ruby-on-rails-3 redis callback
add a comment |
Everytime an object has been created i want to enqueue it in a Redis queue to check for certain properties. How can i add the created object directly as a parameter to the callback? So my redis job would do something like this:
class FurtherProcessCarJob
#....
def self.perform(order)
puts order.id
end
end
whereas in the model
after_create Resque.enqueue FurtherProcessCar, #self
It is possible to hook a method to the callback and there look for the car again and the enqueue the object, but is it possible to do it directly?
ruby-on-rails ruby-on-rails-3 redis callback
after_create { | record | Resque.enqueue record }should be working as well? see api.rubyonrails.org/classes/ActiveRecord/Callbacks.html first example
– devanand
Nov 21 '18 at 9:49
add a comment |
Everytime an object has been created i want to enqueue it in a Redis queue to check for certain properties. How can i add the created object directly as a parameter to the callback? So my redis job would do something like this:
class FurtherProcessCarJob
#....
def self.perform(order)
puts order.id
end
end
whereas in the model
after_create Resque.enqueue FurtherProcessCar, #self
It is possible to hook a method to the callback and there look for the car again and the enqueue the object, but is it possible to do it directly?
ruby-on-rails ruby-on-rails-3 redis callback
Everytime an object has been created i want to enqueue it in a Redis queue to check for certain properties. How can i add the created object directly as a parameter to the callback? So my redis job would do something like this:
class FurtherProcessCarJob
#....
def self.perform(order)
puts order.id
end
end
whereas in the model
after_create Resque.enqueue FurtherProcessCar, #self
It is possible to hook a method to the callback and there look for the car again and the enqueue the object, but is it possible to do it directly?
ruby-on-rails ruby-on-rails-3 redis callback
ruby-on-rails ruby-on-rails-3 redis callback
edited Nov 21 '18 at 9:07
theDrifter
asked Nov 6 '18 at 9:19
theDriftertheDrifter
72211029
72211029
after_create { | record | Resque.enqueue record }should be working as well? see api.rubyonrails.org/classes/ActiveRecord/Callbacks.html first example
– devanand
Nov 21 '18 at 9:49
add a comment |
after_create { | record | Resque.enqueue record }should be working as well? see api.rubyonrails.org/classes/ActiveRecord/Callbacks.html first example
– devanand
Nov 21 '18 at 9:49
after_create { | record | Resque.enqueue record } should be working as well? see api.rubyonrails.org/classes/ActiveRecord/Callbacks.html first example– devanand
Nov 21 '18 at 9:49
after_create { | record | Resque.enqueue record } should be working as well? see api.rubyonrails.org/classes/ActiveRecord/Callbacks.html first example– devanand
Nov 21 '18 at 9:49
add a comment |
1 Answer
1
active
oldest
votes
As I understand your question, something like this should work
class YourModel < ActiveRecord::Base
#....
after_create :enqueue_to_redis
private
def enque_to_redis
Resque.enqueue self, other_args
end
end
Excellent! I tried smth similar, or maybe even that, but it was not working ;)
– theDrifter
Nov 6 '18 at 9:49
Great that you made things work! Cheers!
– VAD
Nov 6 '18 at 9:50
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53168914%2fpass-newly-created-object-to-after-create-callback-in-rails%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
As I understand your question, something like this should work
class YourModel < ActiveRecord::Base
#....
after_create :enqueue_to_redis
private
def enque_to_redis
Resque.enqueue self, other_args
end
end
Excellent! I tried smth similar, or maybe even that, but it was not working ;)
– theDrifter
Nov 6 '18 at 9:49
Great that you made things work! Cheers!
– VAD
Nov 6 '18 at 9:50
add a comment |
As I understand your question, something like this should work
class YourModel < ActiveRecord::Base
#....
after_create :enqueue_to_redis
private
def enque_to_redis
Resque.enqueue self, other_args
end
end
Excellent! I tried smth similar, or maybe even that, but it was not working ;)
– theDrifter
Nov 6 '18 at 9:49
Great that you made things work! Cheers!
– VAD
Nov 6 '18 at 9:50
add a comment |
As I understand your question, something like this should work
class YourModel < ActiveRecord::Base
#....
after_create :enqueue_to_redis
private
def enque_to_redis
Resque.enqueue self, other_args
end
end
As I understand your question, something like this should work
class YourModel < ActiveRecord::Base
#....
after_create :enqueue_to_redis
private
def enque_to_redis
Resque.enqueue self, other_args
end
end
edited Nov 6 '18 at 9:37
answered Nov 6 '18 at 9:32
VADVAD
1,72131425
1,72131425
Excellent! I tried smth similar, or maybe even that, but it was not working ;)
– theDrifter
Nov 6 '18 at 9:49
Great that you made things work! Cheers!
– VAD
Nov 6 '18 at 9:50
add a comment |
Excellent! I tried smth similar, or maybe even that, but it was not working ;)
– theDrifter
Nov 6 '18 at 9:49
Great that you made things work! Cheers!
– VAD
Nov 6 '18 at 9:50
Excellent! I tried smth similar, or maybe even that, but it was not working ;)
– theDrifter
Nov 6 '18 at 9:49
Excellent! I tried smth similar, or maybe even that, but it was not working ;)
– theDrifter
Nov 6 '18 at 9:49
Great that you made things work! Cheers!
– VAD
Nov 6 '18 at 9:50
Great that you made things work! Cheers!
– VAD
Nov 6 '18 at 9:50
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53168914%2fpass-newly-created-object-to-after-create-callback-in-rails%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
after_create { | record | Resque.enqueue record }should be working as well? see api.rubyonrails.org/classes/ActiveRecord/Callbacks.html first example– devanand
Nov 21 '18 at 9:49