어떤 방식으로 이 작업을 수행할 수 있을까요?
커스텀 버튼을 클릭하면 서버 측 코드가 실행되도록 하고 싶습니다.
예를 들어, 버튼을 한 번 클릭하면 Jobs/Secheduled/test_job.rb 파일을 실행하고 싶습니다.
또는 누군가가 admin/plugins/my-plugin URL을 방문할 때 이 파일 안의 코드를 실행할 수도 있을까요?
저는 디스커스 플러그인 개발 초보자로, 이런 작업을 하는 데 정말 애를 먹고 있습니다. 도움이 많이 필요하니 조언을 주시면 감사하겠습니다.
pfaffman
(Jay Pfaffman)
2
그렇다면 해당 코드를 실행하는 엔드포인트에 Ajax 요청을 보내야 합니다.
서버 측에서 어떤 일이 일어나길 원하는지 더 자세히 설명해 주실 수 있나요?
Yogesh_g
(Yogesh Guleria )
3
Jobs/Secheduled/test_job.rb 파일 내부의 코드를 실행하고 싶습니다.
또는 크론 작업(cron job)을 실행하고 싶다고도 할 수 있습니다.
에ンド포인트로 AJAX 요청을 보내고 파일 내부의 코드를 실행하는 방법에 대한 예제 코드를 보여줄 수 있을까요?
pfaffman
(Jay Pfaffman)
4
아직 해결책에 대해 설명하고 있고, 해결하려는 문제에 대해서는 설명하지 않고 있습니다. 해당 파일에서 무엇을 하고 싶으신가요? 이를 트리거하는 더 나은 방법이 있을 수 있습니다. 이를 알면 유사한 해결책을 제안하기도 더 쉬워집니다.
구독 플러그인은 엔드포인트를 추가하므로, 이를 살펴볼 수 있습니다. rails에 라우트를 추가한 후, ember에서는 버튼을 클릭했을 때 해당 엔드포인트를 호출하는 액션을 추가해야 합니다.
Yogesh_g
(Yogesh Guleria )
5
게시글 수가 매우 많은 사용자가 있습니다. 이 사용자의 모든 게시글을 삭제하려고 기본 제공된 ‘모든 게시글 삭제’ 버튼을 사용했지만 503 에러가 발생했습니다. 그래서 2분마다 크론 작업을 실행하여 한 번에 100개의 게시글을 삭제하도록 코드를 작성했습니다.
pfaffman
(Jay Pfaffman)
6
단순히 rails 콘솔에서 실행하고 플러그인을 작성하지 마세요.
언어 기능을 사용하고 @pfaffman이 제안한 대로 하세요. 이를 위해 맞춤형 프론트엔드 훅을 작성하는 것은 지나치게 과장된 접근입니다.
참고: ActiveRecord::Batches
Yogesh_g
(Yogesh Guleria )
8
레일즈(Rails)에 익숙하지 않습니다. 해당 사용자의 게시물을 삭제하는 명령어를 알려줄 수 있나요?
pfaffman
(Jay Pfaffman)
9
PostDestroyer로 검색해 볼 수 있습니다.
Yogesh_g
(Yogesh Guleria )
10
네, 맞습니다. 하지만 사이트에는 그런 사용자가 많습니다. 그리고 제 클라이언트는 기술에 익숙하지 않은 사람이기 때문에, 어떻게 해야 할지 모르겠어요. 클라이언트의 요청으로 플러그인을 작성해야 합니다.
또한 이 문제는 다른 포럼 웹사이트에서도 발생할 수 있습니다. 제가 겪고 있는 문제에 대해 정말로 살펴볼 필요가 있습니다. 향후 업데이트에서 기본 게시물 삭제 기능을 개선할 수 있을 것입니다.