使用控制台,如何确定sidekiq是否已连接到Redis服务器?我希望能够做这样的事情:
if (sidekiq is connected to redis) # psuedo code
MrWorker.perform_async('do_work', user.id)
else
MrWorker.new.perform('do_work', user.id)
end
您可以使用Sidekiq提供的Redis信息:
redis_info = Sidekiq.redis { |conn| conn.info }
redis_info['connected_clients'] # => "16"
从Sidekiq的Sinatra状态应用程序中获取了它。
问题内容: 我希望我的python应用程序能够知道另一侧的套接字何时被删除。有办法吗? 问题答案: 这取决于您所说的“丢弃”。对于TCP套接字,如果另一端通过close()或进程终止来关闭连接,则可以通过读取文件结尾或读取错误来找出错误,通常将errno设置为“对等”由您的操作系统决定。对于python,您将读取长度为零的字符串,否则将导致套接字。尝试从套接字读取或写入时将引发错误。
问题内容: 我遇到了Java套接字API的一些问题。我正在尝试显示当前连接到我的游戏的玩家数量。很容易确定播放器何时连接。但是,似乎似乎很难确定玩家何时使用套接字API断开连接。 呼叫已断开远程似乎总是返回一个插座上。同样,调用已远程关闭的套接字似乎总是会返回。我读过要真正确定套接字是否已关闭,必须将数据写入输出流,并且必须捕获异常。这似乎是处理这种情况的一种非常不干净的方法。我们只需要不断地通过
问题内容: 我正在将广泛的后台任务推算给sidekiq工作者(第一次使用sidekiq)。 我已经能够使其正常运行。 但是我不确定如何检查sidekiq工作程序的进度-检查工作程序是否已通过perform_async函数完成的最佳方法是什么? AutoWorker sidekiq任务: 从我的控制器调用: 问题答案: 将以下扩展gem检出到sidekiq:https : //github.com/
问题内容: 我有一台故意安装了JDK的计算机。我有一台装有JRE的计算机,用于进行测试。但是,当我在这台计算机上运行一个Java应用程序,然后在另一台计算机上对其进行尝试时,它抱怨说需要JDK。如何检查系统是否以某种方式安装了JDK?注意:相关计算机为Mac。 问题答案: 您可以打开终端,只需键入 这应该向您显示系统上安装的Java的版本(假设您已在系统环境中设置了Java的路径)。 如果还没有,
问题内容: 我下载了封装在zip文件中的proguard,并将其解压缩到硬盘上。我没有以任何方式 安装 它(因为我不知道如何安装)。然后,我将其添加到我的project.properties文件中。然后,我做了一个“导出android应用程序”,完全希望eclipse抱怨它不知道我的proguard安装在哪里,但是没有抱怨。确实,我的密钥库中出现了一个新的apk文件,而我的应用程序的proguar
问题内容: 我想对redis.conf进行一些更改,以便每当我键入redis-cli时,它就会将我连接到安装在远程服务器上的redis。 我知道我们可以通过以下方式连接到安装在远程服务器上的redis: 但是实际上,我有一些bash脚本,在那些脚本中,我在很多地方都使用过redis-cli。因此,我不想以每个文件中的redis-cli -h’IP- Address-Of-Server’替换redi