在Rails 3.0(Ruby 1.9.2)应用程序中,我正在尝试使用以下内容加密某些数据:
cipher = OpenSSL::Cipher.new 'aes-256-cbc'
cipher.encrypt
cipher.key = cipher.random_key
cipher.iv = cipher.random_iv
encrypted = cipher.update 'most secret data in the world'
encrypted << cipher.final
Run Code Online (Sandbox Code Playgroud)
这将进入UTF-8数据库.我的问题是
> encrypted.encoding
=> #<Encoding:ASCII-8BIT>
> encrypted.encode 'utf-8'
Encoding::UndefinedConversionError: "\xF7" from ASCII-8BIT to UTF-8
Run Code Online (Sandbox Code Playgroud)
如何获得UTF-8加密字符串?
我目前有一个Rails 3.0项目,Ruby 1.9.2和Resque.
我的应用程序有多个工作类和多个队列,它们是动态创建的(在运行时).此外,还有多个工作人员可以在任何队列上自由工作,因为在开始时没有任何现有队列,并且无法预测:
$ COUNT=3 QUEUE=* rake resque:workers
Run Code Online (Sandbox Code Playgroud)
根据project
id 创建的队列:
@queue = "project_#{project.id}".to_sym
Run Code Online (Sandbox Code Playgroud)
对于给定的队列,他们的工作必须按顺序处理,一次处理一个.我的问题是,通过拥有多个工作人员,可以并行处理多个工作.
有没有办法设置每个队列的最大工作数(为1)?有没有办法在作业处理时锁定队列?
谢谢!