将基于文件的数据传输添加到服务器以供脱机使用
django-collect-offline-files的Python项目详细描述
django收集脱机文件
通过ssh连接使用sftp将django_collect_offline事务作为文件传输。
数据从一个客户端流向另一个服务器,其中一个服务器是节点服务器或中心服务器。
另请参见django_collect_offline。
使用量
在客户端:
python manage.py export_transactions
在服务器或接收主机上:
python manage.py incoming_observer python manage.py deserialize_observer
fileQueueObservators
两个filequeueobserver使用usewatchdogobserver;IncomingTransactionsFileQueueObserver和DeserializeTransactionsFileQueueObserver完成工作。使用管理命令调用它们:
python manage.py incoming_observer
以及
python manage.py deserialize_observer
incomingtransactionsfilequeueobserver
客户端将数据导出到json并发送到服务器。使用TransactionExporter,数据从客户机上的django_collect_offline.models.OutgoingTransaction导出到json文件中,并使用TransactionFileSender发送到服务器。
文件发送到服务器后,IncomingTransactionsFileQueueObserver将检测到该文件并将文件名添加到队列(IncomingTransactionsFileQueue)。
反序列化事务文件队列
队列IncomingTransactionsFileQueue中已处理的文件将移动到由DeserializeTransactionsFileQueueObserver监视的挂起文件夹中,并添加到其队列DeserializeTransactionsFileQueue。
处理队列项目/文件名
每个队列都有一个处理器(请参见process_queue)。处理器以fifo顺序无限次地为队列中的每个项调用next_task方法,或者直到它得到一个None项为止。