我正在用Python编写一个简单的IronWorker,以便使用AWS API进行一些工作.
为此,我想使用通过PiPy分发的boto库.默认情况下,IronWorker运行时环境中未安装boto库.
如何将boto库依赖性与IronWorker代码捆绑在一起?
理想情况下,我希望我可以使用类似Ruby IronWorkers可用的gem依赖性捆绑 - 即在myRuby.worker
指定中
gemfile '../Gemfile', 'common', 'worker' # merges gems from common and worker groups
Run Code Online (Sandbox Code Playgroud)
在Python Loggly示例中,我看到使用了hoover库:
#here we have to include hoover library with worker.
hoover_dir = os.path.dirname(hoover.__file__)
shutil.copytree(hoover_dir, worker_dir + '/loggly') #copy it to worker directory
Run Code Online (Sandbox Code Playgroud)
但是,我无法看到您在何处/如何指定所需的胡佛库版本或从何处下载它.
在Python IronWorkers中使用第三方库的官方/正确方法是什么?
我正在用Laravel 4发送电子邮件:
$data = Input::all();
Mail::queue(array('text' => 'e-Text', 'html' => 'e-Html'), $data ,
function($message) use ($data) {
$message->to($temp['data'], $data['nom'])
->subject('Votre message sur http://mon-site.fr a bien été envoyé !');
}
);
Run Code Online (Sandbox Code Playgroud)
消息与Iron.io排队.电子邮件将发送给收件人,但$ data数组不会传递到电子邮件视图.
我的日志文件出现此错误:
[2013-11-29 15:52:41] production.ERROR: exception 'ErrorException' with message 'Undefined variable: data' in /homez.218/famillen/test/laravel/app/storage/views/cdfda980a9a63595089057de30712093:12
Run Code Online (Sandbox Code Playgroud)
在我配置队列之前,它工作正常.任何的想法 ?
代码视图(刀片模板):
<body style="background-color: #FFDB73; padding: 10px;">
<img src="{{$message->embed('email/titre.png')}}" style="margin: 7px 0px 0px 7px"/>
<img src="{{$message->embed('email/banniere.png')}}"
style="-webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;
max-height: 3em; width: 70%;"/>
<section style="margin-left: 10px;">
<h2>Objet : Vous avez envoyé …
Run Code Online (Sandbox Code Playgroud) 我有一个使用IronWorker的Rails应用程序,我需要从worker连接到我的数据库.我怎么做?
.worker文件
runtime "ruby"
name "UserMailer"
merge_gem "activerecord", "=3.2.8"
merge_gem 'actionmailer', '=3.2.8'
merge_gem 'devise', '=2.1.2'
merge_gem 'pg', "=0.14.0"
merge_file "../app/views/user_mailer/new_user.html.erb" , "user_mailer"
merge_file "../app/mailers/user_mailer.rb"
merge_dir "../app/models"
merge_exec "user_mailer_worker.rb"
Run Code Online (Sandbox Code Playgroud)
.rb文件
require 'action_mailer'
require 'active_record'
require 'pg'
require 'bcrypt'
require 'devise'
require 'user_mailer.rb'
require 'models/user.rb'
def init_mailer
#Need to convert to proper hashes
mailer_config = params['mailer'].inject({}) { |memo, (k, v)| memo[k.to_sym] = v; memo }
# set default views dir to current dir
ActionMailer::Base.prepend_view_path('.')
ActionMailer::Base.smtp_settings = mailer_config
ActionMailer::Base.delivery_method = :smtp
end
def setup_database …
Run Code Online (Sandbox Code Playgroud) 我正在使用Parse Cloud Code创建一个' DELETE'HTTP请求来删除Iron.io中的多个消息.
它使用与从队列中获取消息的 'GET'请求完全相同的标头和URL :
headers: { 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'OAuth ' + ironToken },
"获取"的要求做的工作,我是否把method: 'GET'
与否里面Parse.Cloud.httpRequest()
.即使我发送一些数据body:
(被忽略)它也能工作.
但是,对于'DELETE'请求,我需要发送正文:
body: {
'ids': ['someMessageId']
}
Run Code Online (Sandbox Code Playgroud)
这个请求失败了,消息非常无益:
{ "status":400,"headers": {"Access-Control-Allow-Origin":"*", "Connection":"keep-alive", "Content-Length":"32", "Content-Type":"application/json", "Date":"Tue, 06 May 2014 10:15:27 GMT" }, "text":"{\"msg\":\"Failed to decode JSON.\"}", "data":{"msg":"Failed to decode JSON."}, "buffer":[ ...], "cookies":{} }
知道为什么会这样,我还能测试什么?
iron.io ×5
ironworker ×2
http ×1
httprequest ×1
json ×1
laravel ×1
laravel-4 ×1
python ×1
ruby ×1
swiftmailer ×1