前提:安装并启动redis,不同机器对应的安装方式可自行百度,mac下安装redis可通过
配置sidekiq所依赖的redis位置,必须同时定义sidekiq的server和client
config/initializers/sidekiq.rb
如果要使用 UNIX socket,URL 应该类似于 unix://#{Rails.root}/tmp/sockets/redis.sock
配置config/sidekiq.yml文件,一般只有在需要配置高级选项的时候才需要配置这个文件(如果不使用这个名字,可以使用-c指定 sidekiq -c config/name.yml)
文件中会生成如下内容
将耗时的程序写到perform里
注意:perform是一个实例方法,但是在调用的时候是用类调用
adapter默认使用的adapter是Active Job Inline需要指定为sidekiq才支持异步(如果是使用worker这一步可以省略)
另外由于sidekiq的进程并不是非常稳定,可定会自己断掉,所以可以配合监控工具Monit(可以监控任何进程,只需要设定启动和重开的方式即可)使用,详情还请自行百度
gemfile添加sinatra
执行
tips:
之前直接添加 gem 'sinatra' 运行时导致报错,google之后判断可能是由于sinatra gem的版本问题,导致运行时报错,修正后的sinatra gem 的为 gem 'sinatra', '2.0.0.beta2',require: false
routes.rb添加
打开Sidekiq web界面,检查该作业是否被处理,浏览器中输入
(以下纯属翻译)
注:本文讲的是Sidekiq结合ActiveJob使用的方式,也可以单独使用Sidekiq Worker
文章中注释掉的是单独使用Sidekiq Worker创建任务跟使用ActiveJob的不同部分
参考
https://github.com/mperham/sidekiq/wiki/Getting-Started
(worker)
https://ihower.tw/rails/background-process.html
(active_job)
本文实例讲述了python通过get,post方式发送http请求和接收http响应的方法。分享给大家供大家参考。具体如下:测试用CGI,名字为test.py,放在apache的cgi-bin目录下:
#!/usr/bin/python
import cgi
def main():
print "Content-type: text/html\n"
form = cgi.FieldStorage()
if form.has_key("ServiceCode") and form["ServiceCode"].value != "":
print "<h1>Hello",form["ServiceCode"].value,"</h1>"
else:
print "<h1>Error! Please enter first name.</h1>"
main()
python发送post和get请求
get请求:
使用get方式时,请求数据直接放在url中