小编Tar*_*zan的帖子

setuptools下载缓存路径

我可以为setuptools设置下载缓存路径吗?我可以通过设置环境变量PIP_DOWNLOAD_CACHE(如何缓存下载的PIP包)来实现pip ,但我不知道如何处理setuptools.

我每次跑步时都想要:

python setup.py develop
Run Code Online (Sandbox Code Playgroud)

setuptools缓存下载的文件,因此我不必再次下载它.

python setuptools

6
推荐指数
1
解决办法
966
查看次数

将SSH用户限制为shell命令

我的问题是

如何限制shell命令和目录,我如何允许用户ssh到我的服务器?

我的情况

我正在使用git将代码部署到我的服务器.我有2台服务器,第一台是产品服务器,第二台是git服务器.

我的团队使用git服务器来提取/推送代码.

在我的产品服务器上,我设置了git客户端.每当我想发布一个版本,我就把它推送到我的git服务器(主服务器或其他分支机构......),然后我ssh到我的产品服务器来提取代码.

我想与我的队友分享代码拉取权限,但是不想让他们运行任何命令而只是git,并且只将它们限制在目录中.

我想限制的目录的所有者是apache:apache,所以如果ssh用户运行apache特权,那将非常好.

谢谢,

解决:我使用了lshell和一组限制命令.

git ssh shell

3
推荐指数
1
解决办法
3342
查看次数

金字塔ZopeTransactionExtension与芹菜:如何在网络请求后不保持交易的情况下立即提交交易?

在这里我的情况.

我正在构建一个RESTful Web服务,从客户端接收数据,然后从这些数据创建一个事件,然后我想将这个新事件推送到芹菜中以异步处理它.

我使用金字塔构建RESTful webservice,使用pyramid_celery使金字塔和芹菜一起工作.

这是我的观点的源代码:

# views.py
# This code recive data from client, then create a new record Event from this

posted_data = schema.deserialize(request.POST.mixed())

e = Event()
e.__dict__.update(posted_data)
DBSession.add(e)
transaction.commit()

print "Commited #%d" % e.id # code mark 01
fire_event.delay(e.id) # fire_event is a celery task
logging.getLogger(__name__).info('Add event #%d to tasks' % e.id)
Run Code Online (Sandbox Code Playgroud)

这是我的任务的源代码:

# tasks.py
@celery.task()
def fire_event(event_id):
    e = DBSession.query(Event).get(event_id)

    if e is None:
        return

    print "Firing event %d#%s" % (event_id, e)
    logger.info("Firing event %d#%s", event_id, …
Run Code Online (Sandbox Code Playgroud)

transactions celery pyramid

2
推荐指数
1
解决办法
1100
查看次数

标签 统计

celery ×1

git ×1

pyramid ×1

python ×1

setuptools ×1

shell ×1

ssh ×1

transactions ×1