Библиотека/Платформа Python для записи [закрытых] приложений P2P

Для соединения с несколькими базами данных вам необходимо добавить следующие коды в файл database.yml. Здесь я приведу пример соединения двух баз данных из приложения rails

config / database.yml

development:
  adapter: mysql2
  database: db1_dev
  username: root
  password: xyz
  host: localhost

development_sec:
  adapter: mysql2
  database: db2_dev
  username: root
  password: xyz
  host: localhost

production:
  adapter: mysql2
  database: db1_prod
  username: root
  password: xyz
  host: your-production-ip

production_sec:
  adapter: mysql2
  database: db2_prod
  username: root
  password: xyz
  host: your-production-ip

Здесь я использовал две базы данных для среды разработки и производства.

Теперь нам нужно подключить модель к базам данных. Когда вы запускаете ваше приложение в режиме разработки и производства, все модели будут отображаться с помощью параметров db разработки и производства, которые были упомянуты в вашем database.yml. Поэтому для некоторой модели нам нужно подключиться к другой базе данных.

Предположим, что у нас есть две модели User и Category. Таблица пользователей находится в db1_dev и db1_prod, таблица категорий в db2_dev и db2_prod.

Модель категории

class Category < ActiveRecord::Base
  establish_connection "#{Rails.env}_sec"
end

Аналогично, когда вы добавляете новую миграцию для второй базы данных, необходимо добавить следующий код к ней.

class CreateRewards < ActiveRecord::Migration
  def connection
    ActiveRecord::Base.establish_connection("#{Rails.env}_sec").connection
  end

  def change
    # your code goes here.
  end
end

Надеюсь, это сработает для вас :).

13
задан Manuel Ceron 8 June 2009 в 03:05
поделиться

5 ответов

Twisted - это в значительной степени ответ на все, что серьезно относится к сети- связанных с Python, но вам действительно нужно принять Twisted способ работы. По сути, это не P2P-стек, это цикл событий, система обратного вызова и сетевая структура.

Divmod Vertex в настоящее время не поддерживается, и, когда я пытался использовать его несколько лет назад, он все еще был довольно грубым.

CSpace может быть наиболее близким к тому, что вы ищете: «платформа для безопасного, децентрализованного, межпользовательского общения через Интернет.

19
ответ дан 1 December 2019 в 21:38
поделиться

На мой взгляд, лучший вариант, конечно, - это использовать twisted .

Старая версия BitTorrent была построена с его использованием. Ссылка на последнюю известную версию, в которой используется twisted. Вы можете изучить это как отправную точку.

Также есть Vertex . Это библиотека, которая использует twisted и позволяет p2p в обход межсетевого экрана.

4
ответ дан 1 December 2019 в 21:38
поделиться

Я не знаю, существует ли такая вещь, но могу предложить следующие альтернативы:

2
ответ дан 1 December 2019 в 21:38
поделиться

Я цитирую страницы Sun JXTA , которые имеют Дата декабря 2002,

«Проект JXTA имеет эталонную реализацию Java, доступную на download.jxta.org, и в настоящее время работает над добавлением эталонных реализаций на других распространенных языках, включая C, Objective C, Perl, Ruby и Python. реализация Java является наиболее полной реализацией протоколов JXTA, реализация C (доступная как для Win32, так и для Linux) быстро приближается к тому же уровню полноты ».

0
ответ дан 1 December 2019 в 21:38
поделиться

Stackless Python может вас заинтересовать.

-3
ответ дан 1 December 2019 в 21:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: