我正在创建一个Web界面,用来自数据库的用户数据自动填充pdf表单.管理员需要能够上传pdf(现在以IRS pdf格式为目标),然后将pdf中的字段与数据库中的数据字段相关联.
我需要一种方法来帮助管理员将字段名称(例如"topmostSubform [0] .Page2 [0] .p2-t66 [0]")与数据库中的数据字段相关联.我正在寻找一种以编程方式修改PDF以某种方式提供此信息的方法.
基本上,我愿意接受有关如何使字段名称在原始pdf的修改版本上以明显方式显示的建议.我最接近的是能够通过逐行编辑原始pdf将工具提示插入到pdf中的字段中.但是,当以这种方式编辑pdf时,字段名称是乱码,所以我不能只使用它们.
最佳解决方案是任何可以自动解析pdf并将每个字段的工具提示设置为字段名称的解决方案.任何可以从命令行或任何python工具运行的东西,或者只是从原始pdf文件中正确解析字段名称的基本内容都会令人惊讶.
我们的芹菜守护进程非常脆弱.我们使用结构部署脚本在每次推送更改时重新启动守护程序,但由于某种原因,这会导致大量问题.
每当运行部署脚本时,芹菜进程都会处于某种伪死状态.他们(不幸的是)仍然会从rabbitmq中消耗任务,但他们实际上并没有做任何事情.令人困惑的简短检查表明在这种状态下一切似乎都很"好",celeryctl状态显示一个节点在线并且ps aux | grep芹菜显示2个运行过程.
但是,尝试运行/etc/init.d/celeryd手动停止会导致以下错误:
start-stop-daemon: warning: failed to kill 30360: No such process
Run Code Online (Sandbox Code Playgroud)
虽然在这种状态下尝试运行celeryd start似乎工作正常,但实际上什么也没做.解决问题的唯一方法是手动终止正在运行的芹菜进程,然后再次启动它们.
有什么想法在这里发生了什么?我们也没有完全确认,但我们认为问题也会在几天之后(当前没有活动,这是一个测试服务器)在没有部署的情况下自行开发.
我有一个父任务,将产生任意和可能大量的子任务.一旦父项和所有子任务都完成,我需要在我的数据库中设置一个标志,表明它已准备就绪.我最好怎么做呢?
例如:
@task()
def master_task(foo):
foo_obj = Foo.objects.get(id=foo)
for bar in foo_obj.bar_set.all():
more_work.delay(bar.id)
@task()
def more_work(bar):
bar_obj = Bar.objects.get(id=bar)
do_work()
Run Code Online (Sandbox Code Playgroud)
我需要检测master_task及其生成的所有子任务何时完成,以便我可以在相关模型上设置一个标志,以指示所有内容都已准备就绪
我有一个Android服务,该服务通过通过TCP来回传递消息来处理与游戏同步服务器的通信。
我希望能够对这项服务的行为进行单元测试。即,当在线上看到数据时,将读取,解析数据并发送有效的对应意图,并且当服务接收到意图时,它将正确创建一条消息以发送到服务器。
我对单元测试不是特别擅长,但是我正在尝试使单元测试成为我实践的一部分。我不确定如何处理这样的事情。感觉好像我需要模拟套接字并伪造Input和Output流,但是我真的不知道该怎么做,特别是因为它适用于Android。
这是(为简洁起见,已大幅裁剪)服务:
public class GameSyncService extends Service {
Thread mInputThread = new Thread() {
/**
* Parse commands from a message string, broadcast the command intents, and
* return the remainder of the message
* @param message The message to parse for commands
* @returns the remaining characters
*/
private String parseCommands(String message) {
// Parse the command, Broadcast the Intent and return any remainder
}
@Override
public void run() {
String message = "";
int charsRead = …Run Code Online (Sandbox Code Playgroud)