小编Jon*_*Jon的帖子

通过ReceivedDate搜索JavaMail,到第二个不起作用?

在IMAP中,消息编号基于消息被放入文件夹的时间(即文件夹中的第一条消息是1,第二条消息是2,等等).但是,此排序不考虑消息的接收日期.我关心的是比文件夹的第1号消息更早的消息,即用户手动(而不是在它被接收到系统中时)移动到文件夹中的消息.

我不能只收到每条消息的收到日期,因为这是非常糟糕的.

以为我可以进行JavaMail搜索以获取收到的日期于第一条消息的接收日期的所有消息(并且同样进行搜索以获取所有收到的日期比第一条消息的接收日期更新的消息...会很多,但是虽然我需要处理所有旧的,但我只需要处理一些较新的,(并且通过流程,我的意思是下载它的标题).

但是,当我使用搜索时,它似乎无法正常工作.

        Message[] messages = csqFolder.getMessages();           

        if (messages != null && messages.length > 0) {

            Date receivedDate = messages[0].getReceivedDate();
            log.trace("Message 1 receivedDate: <" + receivedDate.toString() + ">");
            SearchTerm msgsOlderThanOETFirst = 
                new ReceivedDateTerm(DateTerm.LT, receivedDate);

            SearchTerm msgsNewerThanFirst = 
                new ReceivedDateTerm(DateTerm.GT, receivedDate);

            Message[] oldMsgs = csqFolder.search(msgsOlderThanOETFirst, messages);
            log.trace("Size of oldMsgs: <" + oldMsgs.length + ">");
            Message[] newMsgs = csqFolder.search(msgsNewerThanFirst, messages);
            log.trace("Size of newMsgs: <" + newMsgs.length + ">");
Run Code Online (Sandbox Code Playgroud)

但是,当我运行这些搜索时,它似乎没有给出正确的结果.

在包含8条消息的文件夹中,其中7条消息的日期时间为8月5日中午12点左右,但文件夹中的第一条消息是8月5日下午4点,我们将看到以下内容:

Message 1 receivedDate: <Fri Aug …
Run Code Online (Sandbox Code Playgroud)

java email imap jakarta-mail exchange-server-2007

8
推荐指数
1
解决办法
8532
查看次数

AWX 所有作业停止处理并无限期挂起 - 为什么

问题

我们的 Ansible AWX 实例在 v5.0.0 上运行了一年多,突然所有作业都停止工作——没有输出输出。它们将开始“运行”,但无限期地挂起,而不打印任何日志记录。

AWX 实例在 docker compose 容器设置中运行,如下定义: https: //github.com/ansible/awx/blob/5.0.0/INSTALL.md#docker-compose

观察结果

标准故障排除(例如重新启动容器、主机操作系统等)并没有帮助。任一环境中都没有配置更改。

在调试实际的 playbook 命令时,我们观察到从 UI 运行 playbook 的命令如下所示:

ssh-agent sh -c ssh-add /tmp/awx_11021_0fmwm5uz/artifacts/11021/ssh_key_data && rm -f /tmp/awx_11021_0fmwm5uz/artifacts/11021/ssh_key_data && ansible-playbook -vvvvv -u ubuntu --become --ask-vault-pass -i /tmp/awx_11021_0fmwm5uz/tmppo7rcdqn -e @/tmp/awx_11021_0fmwm5uz/env/extravars playbook.yml

这按顺序分为三个命令:

  1. ssh-agent sh -c ssh-add /tmp/awx_11021_0fmwm5uz/artifacts/11021/ssh_key_data
  2. rm -f /tmp/awx_11021_0fmwm5uz/artifacts/11021/ssh_key_data
  3. ansible-playbook -vvvvv -u ubuntu --become --ask-vault-pass -i /tmp/awx_11021_0fmwm5uz/tmppo7rcdqn -e @/tmp/awx_11021_0fmwm5uz/env/extravars playbook.yml

您可以在第 3 部分中看到,这-vvvvv是调试参数——但是,挂起发生在命令 #1 上。这与 ansible 或 AWX 具体无关,但它不会为我们提供太多调试信息。

我尝试做一个strace来看看发生了什么,但由于下面给出的原因,很难跟踪它实际的情况。如果有帮助的话我可以提供这个输出。

分析

因此,关于命令 …

linux ssh ansible docker ansible-awx

7
推荐指数
1
解决办法
4447
查看次数