1

我正在尝试安排在特定时间拨打电话。以下 python 代码进行调用:

#Download the library from twilio.com/docs/libraries
from twilio.rest import TwilioRestClient

# Get these credentials from http://twilio.com/user/account
account_sid = "myaccountsid"
auth_token = "myauthtoken"
client = TwilioRestClient(account_sid, auth_token)

# Make the call
call = client.calls.create(to="+12345789123",  # Any phone number
                           from_="+12345789123", # Must be a valid Twilio number
                           url="http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient")
print call.sid

这段代码是用于 Iron.io 的 .worker:

# define the runtime language
runtime "python"

gem 'twilio-ruby'
gem 'uber_config'

# exec is the file that will be executed:
exec "makecall.py"

使用本教程

但是,我收到以下异常:

/Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/lib/iron_worker_ng/code/base.rb:103:in `eval': undefined method `gem' for #<IronWorkerNG::Code::Base:0x007fd6c5008ec8> (NoMethodError)
    from (eval):4:in `block (2 levels) in initialize'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/lib/iron_worker_ng/code/base.rb:103:in `eval'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/lib/iron_worker_ng/code/base.rb:103:in `block (2 levels) in initialize'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/lib/iron_worker_ng/fetcher.rb:78:in `call'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/lib/iron_worker_ng/fetcher.rb:78:in `fetch'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/lib/iron_worker_ng/code/base.rb:93:in `block in initialize'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/lib/iron_worker_ng/code/base.rb:92:in `each'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/lib/iron_worker_ng/code/base.rb:92:in `initialize'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/lib/iron_worker_ng/cli.rb:78:in `new'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/lib/iron_worker_ng/cli.rb:78:in `upload'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/gems/iron_worker_ng-1.6.2/bin/iron_worker:120:in `<top (required)>'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/bin/iron_worker:23:in `load'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/bin/iron_worker:23:in `<main>'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/bin/ruby_executable_hooks:15:in `eval'
    from /Users/user/.rvm/gems/ruby-2.0.0-p598/bin/ruby_executable_hooks:15:in `<main>'

我究竟做错了什么?

4

1 回答 1

2

看起来您正在尝试通过.workerpython 脚本在文件中使用 Ruby gem。您应该将 pip 用于 Python 库。尝试将您的.worker文件更改为:

runtime 'python'

# dependencies
pip 'twilio'

# executable
exec 'mycall.py'
于 2015-01-19T19:54:37.023 回答